j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits
comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2
me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille
du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ellimac
Bonjour,
Sub Macro1() For Each c In Sheets(2).Range("a1:a3") Crit = c Sheets.Add Type:="Feuille" ActiveSheet.Name = Crit Sheets("Feuil1").Select Range("A2").AutoFilter Field:=1, Criteria1:=Crit Range(Range(Range("a2"), Range("A2").End(xlToRight)), _ Range(Range("a2"), Range("A2").End(xlDown))) _ .SpecialCells(xlCellTypeVisible).Copy Sheets (Crit).Range("a1") Next End Sub
Camille
-----Message d'origine----- bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2 me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.
merci
.
Bonjour,
Sub Macro1()
For Each c In Sheets(2).Range("a1:a3")
Crit = c
Sheets.Add Type:="Feuille"
ActiveSheet.Name = Crit
Sheets("Feuil1").Select
Range("A2").AutoFilter Field:=1, Criteria1:=Crit
Range(Range(Range("a2"), Range("A2").End(xlToRight)), _
Range(Range("a2"), Range("A2").End(xlDown))) _
.SpecialCells(xlCellTypeVisible).Copy Sheets
(Crit).Range("a1")
Next
End Sub
Camille
-----Message d'origine-----
bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une
feuille 2
sur la feuille1 j' ai les données de toutes les communes
nbre habitant,
votant, inscrits
comment faire par vba une macro qui en se referant a la
liste des communes
dans la feuille 2
me sélectionnera dans la feuille 1 toutes les affaires de
cette commune et
les rangera dans une nouvelle feuille
du classeur jusqu' a la derniere commune de la feuille
2. ?
j'utiliserai vos reponses en forme d'apprentissage des
macros.
Sub Macro1() For Each c In Sheets(2).Range("a1:a3") Crit = c Sheets.Add Type:="Feuille" ActiveSheet.Name = Crit Sheets("Feuil1").Select Range("A2").AutoFilter Field:=1, Criteria1:=Crit Range(Range(Range("a2"), Range("A2").End(xlToRight)), _ Range(Range("a2"), Range("A2").End(xlDown))) _ .SpecialCells(xlCellTypeVisible).Copy Sheets (Crit).Range("a1") Next End Sub
Camille
-----Message d'origine----- bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2 me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.
merci
.
Patrick.L
En effet cela crée les feuilles mais ne copy rien dedans donc j ai 36 feuilles vides on avance qd même pourquoi autofilter field:=1 ?
"Ellimac" a écrit dans le message de news: 11d3201c3f561$de5d86d0$ Bonjour,
Sub Macro1() For Each c In Sheets(2).Range("a1:a3") Crit = c Sheets.Add Type:="Feuille" ActiveSheet.Name = Crit Sheets("Feuil1").Select Range("A2").AutoFilter Field:=1, Criteria1:=Crit Range(Range(Range("a2"), Range("A2").End(xlToRight)), _ Range(Range("a2"), Range("A2").End(xlDown))) _ .SpecialCells(xlCellTypeVisible).Copy Sheets (Crit).Range("a1") Next End Sub
Camille
-----Message d'origine----- bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2 me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.
merci
.
En effet cela crée les feuilles mais ne copy rien dedans
donc j ai 36 feuilles vides
on avance qd même
pourquoi autofilter field:=1 ?
"Ellimac" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 11d3201c3f561$de5d86d0$a601280a@phx.gbl...
Bonjour,
Sub Macro1()
For Each c In Sheets(2).Range("a1:a3")
Crit = c
Sheets.Add Type:="Feuille"
ActiveSheet.Name = Crit
Sheets("Feuil1").Select
Range("A2").AutoFilter Field:=1, Criteria1:=Crit
Range(Range(Range("a2"), Range("A2").End(xlToRight)), _
Range(Range("a2"), Range("A2").End(xlDown))) _
.SpecialCells(xlCellTypeVisible).Copy Sheets
(Crit).Range("a1")
Next
End Sub
Camille
-----Message d'origine-----
bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une
feuille 2
sur la feuille1 j' ai les données de toutes les communes
nbre habitant,
votant, inscrits
comment faire par vba une macro qui en se referant a la
liste des communes
dans la feuille 2
me sélectionnera dans la feuille 1 toutes les affaires de
cette commune et
les rangera dans une nouvelle feuille
du classeur jusqu' a la derniere commune de la feuille
2. ?
j'utiliserai vos reponses en forme d'apprentissage des
macros.
En effet cela crée les feuilles mais ne copy rien dedans donc j ai 36 feuilles vides on avance qd même pourquoi autofilter field:=1 ?
"Ellimac" a écrit dans le message de news: 11d3201c3f561$de5d86d0$ Bonjour,
Sub Macro1() For Each c In Sheets(2).Range("a1:a3") Crit = c Sheets.Add Type:="Feuille" ActiveSheet.Name = Crit Sheets("Feuil1").Select Range("A2").AutoFilter Field:=1, Criteria1:=Crit Range(Range(Range("a2"), Range("A2").End(xlToRight)), _ Range(Range("a2"), Range("A2").End(xlDown))) _ .SpecialCells(xlCellTypeVisible).Copy Sheets (Crit).Range("a1") Next End Sub
Camille
-----Message d'origine----- bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2 me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.
merci
.
Ellimac
Bonjour,
Le problème doit venir de l'emplacement de tes données. Pour ma part j'ai fonctionné avec un tableau ayant des titres en ligne 1 et à partir de A. autofilter field:=1 indique que l'on applique le filtre sur la 1ère colonne. Les .End c'est pour dire de prendre à partir de la cellule jusqu'à la dernière remplie vers la droite (XlToRight) ou vers le bas (XlDown). Si tu veux la ligne entière tu peux aussi indiquer : Range("A2").End(XlDown).Entirerow.Copy
Camille
-----Message d'origine----- En effet cela crée les feuilles mais ne copy rien dedans donc j ai 36 feuilles vides on avance qd même pourquoi autofilter field:=1 ?
"Ellimac" a écrit dans le message de
news: 11d3201c3f561$de5d86d0$ Bonjour,
Sub Macro1() For Each c In Sheets(2).Range("a1:a3") Crit = c Sheets.Add Type:="Feuille" ActiveSheet.Name = Crit Sheets("Feuil1").Select Range("A2").AutoFilter Field:=1, Criteria1:=Crit Range(Range(Range("a2"), Range("A2").End(xlToRight)), _
Range(Range("a2"), Range("A2").End(xlDown))) _ .SpecialCells(xlCellTypeVisible).Copy Sheets (Crit).Range("a1") Next End Sub
Camille
-----Message d'origine----- bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2 me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.
merci
.
.
Bonjour,
Le problème doit venir de l'emplacement de tes données.
Pour ma part j'ai fonctionné avec un tableau ayant des
titres en ligne 1 et à partir de A.
autofilter field:=1 indique que l'on applique le filtre
sur la 1ère colonne.
Les .End c'est pour dire de prendre à partir de la cellule
jusqu'à la dernière remplie vers la droite (XlToRight) ou
vers le bas (XlDown).
Si tu veux la ligne entière tu peux aussi indiquer :
Range("A2").End(XlDown).Entirerow.Copy
Camille
-----Message d'origine-----
En effet cela crée les feuilles mais ne copy rien dedans
donc j ai 36 feuilles vides
on avance qd même
pourquoi autofilter field:=1 ?
"Ellimac" <anonymous@discussions.microsoft.com> a écrit
dans le message de
Sub Macro1()
For Each c In Sheets(2).Range("a1:a3")
Crit = c
Sheets.Add Type:="Feuille"
ActiveSheet.Name = Crit
Sheets("Feuil1").Select
Range("A2").AutoFilter Field:=1, Criteria1:=Crit
Range(Range(Range("a2"), Range("A2").End(xlToRight)),
_
Range(Range("a2"), Range("A2").End(xlDown))) _
.SpecialCells(xlCellTypeVisible).Copy Sheets
(Crit).Range("a1")
Next
End Sub
Camille
-----Message d'origine-----
bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une
feuille 2
sur la feuille1 j' ai les données de toutes les communes
nbre habitant,
votant, inscrits
comment faire par vba une macro qui en se referant a la
liste des communes
dans la feuille 2
me sélectionnera dans la feuille 1 toutes les affaires de
cette commune et
les rangera dans une nouvelle feuille
du classeur jusqu' a la derniere commune de la feuille
2. ?
j'utiliserai vos reponses en forme d'apprentissage des
macros.
Le problème doit venir de l'emplacement de tes données. Pour ma part j'ai fonctionné avec un tableau ayant des titres en ligne 1 et à partir de A. autofilter field:=1 indique que l'on applique le filtre sur la 1ère colonne. Les .End c'est pour dire de prendre à partir de la cellule jusqu'à la dernière remplie vers la droite (XlToRight) ou vers le bas (XlDown). Si tu veux la ligne entière tu peux aussi indiquer : Range("A2").End(XlDown).Entirerow.Copy
Camille
-----Message d'origine----- En effet cela crée les feuilles mais ne copy rien dedans donc j ai 36 feuilles vides on avance qd même pourquoi autofilter field:=1 ?
"Ellimac" a écrit dans le message de
news: 11d3201c3f561$de5d86d0$ Bonjour,
Sub Macro1() For Each c In Sheets(2).Range("a1:a3") Crit = c Sheets.Add Type:="Feuille" ActiveSheet.Name = Crit Sheets("Feuil1").Select Range("A2").AutoFilter Field:=1, Criteria1:=Crit Range(Range(Range("a2"), Range("A2").End(xlToRight)), _
Range(Range("a2"), Range("A2").End(xlDown))) _ .SpecialCells(xlCellTypeVisible).Copy Sheets (Crit).Range("a1") Next End Sub
Camille
-----Message d'origine----- bonsoir le forum
j' ai une liste de 36 commune d'un departement sur une feuille 2
sur la feuille1 j' ai les données de toutes les communes nbre habitant,
votant, inscrits comment faire par vba une macro qui en se referant a la liste des communes
dans la feuille 2 me sélectionnera dans la feuille 1 toutes les affaires de cette commune et
les rangera dans une nouvelle feuille du classeur jusqu' a la derniere commune de la feuille 2. ?
j'utiliserai vos reponses en forme d'apprentissage des macros.