Sub Macro1() For Each sh In Sheets If sh.Name <> "BDD" Then Set Source = sh.Range("A2:A" & sh.Cells(Cells.Rows.Count, 1).End(xlUp).Row) dest1 = Sheets("BDD").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1 dest2 = dest1 + Source.Rows.Count Dest = Range(Cells(dest1, 1), Cells(dest2, 11)).Address Sheets("BDD").Range(Dest).Value = Sheets(sh.Name).Range(Source.Address).Value ' nom de la feuille source mit en colonne M ' Sheets("BDD").Range(Cells(dest1, 13), Cells(dest2, 13)).Value = sh.Name End If Next End Sub
isabelle
Le 2015-06-24 18:47, Apitos a écrit :
Bonjour à tous,
Dans un classeur, j'ai une feuille principale "BDD" qui est mis à jour depuis des tableaux sur des feuilles du même classeur.
J'aimerais qu'à chaque modification, ajout ou suppression de données des tableaux sera refléter sur la feuille principale "BDD".
http://www.cjoint.com/c/EFywViUj3tw
Merci d'avance.
bonjour Apitos,
voici un début de piste,
Sub Macro1()
For Each sh In Sheets
If sh.Name <> "BDD" Then
Set Source = sh.Range("A2:A" & sh.Cells(Cells.Rows.Count, 1).End(xlUp).Row)
dest1 = Sheets("BDD").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
dest2 = dest1 + Source.Rows.Count
Dest = Range(Cells(dest1, 1), Cells(dest2, 11)).Address
Sheets("BDD").Range(Dest).Value = Sheets(sh.Name).Range(Source.Address).Value
' nom de la feuille source mit en colonne M
' Sheets("BDD").Range(Cells(dest1, 13), Cells(dest2, 13)).Value = sh.Name
End If
Next
End Sub
isabelle
Le 2015-06-24 18:47, Apitos a écrit :
Bonjour à tous,
Dans un classeur, j'ai une feuille principale "BDD" qui est mis à jour depuis des tableaux sur des feuilles du même classeur.
J'aimerais qu'à chaque modification, ajout ou suppression de données des tableaux sera refléter sur la feuille principale "BDD".
Sub Macro1() For Each sh In Sheets If sh.Name <> "BDD" Then Set Source = sh.Range("A2:A" & sh.Cells(Cells.Rows.Count, 1).End(xlUp).Row) dest1 = Sheets("BDD").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1 dest2 = dest1 + Source.Rows.Count Dest = Range(Cells(dest1, 1), Cells(dest2, 11)).Address Sheets("BDD").Range(Dest).Value = Sheets(sh.Name).Range(Source.Address).Value ' nom de la feuille source mit en colonne M ' Sheets("BDD").Range(Cells(dest1, 13), Cells(dest2, 13)).Value = sh.Name End If Next End Sub
isabelle
Le 2015-06-24 18:47, Apitos a écrit :
Bonjour à tous,
Dans un classeur, j'ai une feuille principale "BDD" qui est mis à jour depuis des tableaux sur des feuilles du même classeur.
J'aimerais qu'à chaque modification, ajout ou suppression de données des tableaux sera refléter sur la feuille principale "BDD".
http://www.cjoint.com/c/EFywViUj3tw
Merci d'avance.
Apitos
Bonjour,
Jacky :: Après le test, Excel se bloque !
http://www.cjoint.com/c/EFzrWrWPW1d
Isabelle :: Le code ajoute les données des autres feuilles à ce qui se trouve déjà dans le "BDD", il y aura beaucoup de redondances !
http://www.cjoint.com/c/EFzrY7TkKSd
Bonjour,
Jacky :: Après le test, Excel se bloque !
http://www.cjoint.com/c/EFzrWrWPW1d
Isabelle :: Le code ajoute les données des autres feuilles à ce qui se trouve déjà dans le "BDD", il y aura beaucoup de redondances !
Re... Essaye ceci. Bouton ou sélection de la feuille "BDD", au choix http://www.cjoint.com/c/EFztPGWlZCh -- Salutations JJ
"Apitos" a écrit dans le message de news:
Bonjour,
Jacky :: Après le test, Excel se bloque !
http://www.cjoint.com/c/EFzrWrWPW1d
Isabelle :: Le code ajoute les données des autres feuilles à ce qui se trouve déjà dans le "BDD", il y aura beaucoup de redondances !
http://www.cjoint.com/c/EFzrY7TkKSd
Jacky
Re... Contrôle la ligne des titres (11 titres) pour éviter un plantage si quelqu'un supprime la ligne des titres de la feuille "BDD" http://www.cjoint.com/c/EFzuzrWF5Ah -- Salutations JJ
"
Re...
Contrôle la ligne des titres (11 titres) pour éviter un plantage si quelqu'un supprime la ligne des titres de
la feuille "BDD"
http://www.cjoint.com/c/EFzuzrWF5Ah
--
Salutations
JJ
Re... Contrôle la ligne des titres (11 titres) pour éviter un plantage si quelqu'un supprime la ligne des titres de la feuille "BDD" http://www.cjoint.com/c/EFzuzrWF5Ah -- Salutations JJ
"
Apitos
Isabelle a écrit :
oui, c'était un début de piste, en début de macro il faut effacer l es données de la feuille "BDD"
D'accord !
Jacky a écrit :
Re... Essaye ceci. Bouton ou sélection de la feuille "BDD", au choix
Maintenant ça ne se plante plus (Je ne sais pourquoi ?)
Je voulais ajouté un tri à la fin, mais ça me déclenche une erreur d'exécution '1004':
Erreur définie pas l'application ou par l'objet
'------------ ' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlU p).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Key4:=.Item(1, 5), Order4:=xlDescending, Header:=xlYes, OrderCustom:=1, _ MatchCase:úlse, Orientation:=xlTopToBottom End With
'------------
Isabelle a écrit :
oui, c'était un début de piste, en début de macro il faut effacer l es données de
la feuille "BDD"
D'accord !
Jacky a écrit :
Re...
Essaye ceci.
Bouton ou sélection de la feuille "BDD", au choix
Maintenant ça ne se plante plus (Je ne sais pourquoi ?)
Je voulais ajouté un tri à la fin, mais ça me déclenche une erreur d'exécution '1004':
Erreur définie pas l'application ou par l'objet
'------------
' Tri
With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlU p).Row)
.Sort Key1:=.Item(1, 4), Order1:=xlAscending, _
Key2:=.Item(1, 1), Order2:=xlAscending, _
Key3:=.Item(1, 2), Order3:=xlAscending, _
Key4:=.Item(1, 5), Order4:=xlDescending, Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
End With
Re... Maintenant ça ne se plante plus (Je ne sais pourquoi ?) Il manquait un "Application.EnableEvents = False" Utilise le dernier classeur envoyé Pour le tri Mets un filtre sur la ligne 1 et tu pourras trier sur la colonne de ton choix. -- Bonne nuit JJ
'------------ ' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlUp).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Key4:=.Item(1, 5), Order4:=xlDescending, Header:=xlYes, OrderCustom:=1, _ MatchCase:úlse, Orientation:=xlTopToBottom End With
'------------
Re...
Maintenant ça ne se plante plus (Je ne sais pourquoi ?)
Il manquait un "Application.EnableEvents = False"
Utilise le dernier classeur envoyé
Pour le tri
Mets un filtre sur la ligne 1 et tu pourras trier sur la colonne de ton choix.
--
Bonne nuit
JJ
'------------
' Tri
With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlUp).Row)
.Sort Key1:=.Item(1, 4), Order1:=xlAscending, _
Key2:=.Item(1, 1), Order2:=xlAscending, _
Key3:=.Item(1, 2), Order3:=xlAscending, _
Key4:=.Item(1, 5), Order4:=xlDescending, Header:=xlYes, OrderCustom:=1, _
MatchCase:úlse, Orientation:=xlTopToBottom
End With
Re... Maintenant ça ne se plante plus (Je ne sais pourquoi ?) Il manquait un "Application.EnableEvents = False" Utilise le dernier classeur envoyé Pour le tri Mets un filtre sur la ligne 1 et tu pourras trier sur la colonne de ton choix. -- Bonne nuit JJ
'------------ ' Tri With Sheets("BDD").Range("A1:K" & Sheets("BDD").Range("A65536").End(xlUp).Row) .Sort Key1:=.Item(1, 4), Order1:=xlAscending, _ Key2:=.Item(1, 1), Order2:=xlAscending, _ Key3:=.Item(1, 2), Order3:=xlAscending, _ Key4:=.Item(1, 5), Order4:=xlDescending, Header:=xlYes, OrderCustom:=1, _ MatchCase:úlse, Orientation:=xlTopToBottom End With