OVH Cloud OVH Cloud

liste automatique

3 réponses
Avatar
Patrick.L
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

3 réponses

Avatar
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


.



Avatar
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


.



Avatar
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


.




.