Bonjour à tous,
Etant novice en VBA, je souhaiterais faire un filtre auto puis pour chaque valeur de mon filtre copie un total.
Voir PJ
Merci par avance.
Cordialement.Fichier Zones.xlsm
Bonjour à tous,
Etant novice en VBA, je souhaiterais faire un filtre auto puis pour chaque valeur de mon filtre copie un total.
Voir PJ
Merci par avance.
Cordialement.Fichier Zones.xlsm
Pour info : https://www.developpez.net/forums/d8...s-discussions/
Il faudrait donc que tu sois un peu plus détaillé et explicite dans ta demande.
J'ai tou expliqué dans le fichier joint.
En gros je voudrais copier le resultat pour chacune des valeurs de mon filtre vers une autre feuille.
Exemple:
Si colonne 1 possede plusieurs lignes Zone 1 plusieurs ligne zon2, etc jusqu'à zone X.
Je souhaiterais copier dans un nouvel onglet Zone 1 avec la somme de la colonne prix de toutes les lignes Zones 1
et ainsi de suite.
Bonjour,
pour copier directement des données filtrées d'une feuille à une autre : Les filtres avancés ou élaborés dans Excel !
_________________________________________________________________________________________________________Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
Et dans le lien que j'ai donné à mon précédent message sont expliquées une parties des raisons pour lesquelles la plupart des participants à ce forum n'ouvrent pas les pièces jointes (surtout celles pouvant contenir des macros).
Si j'ai bien compris ton problème, la première chose à faire est de constituer une liste sans doublons de tes "Zones" dans un autre onglet.En gros je voudrais copier le resultat pour chacune des valeurs de mon filtre vers une autre feuille.
Ca peut se faire à la main en copiant la colonne des Zones dans un autre onglet et en supprimant les doublons (Ruban Données > Supprimer les doublons).
Si tu veux le faire en VBA, l'enregistreur de macro te donnera un code presque tout fait. N'oublie pas quand même de vider la zone destination en début de code pour retirer les résultats des exécutions précédentes.
Ensuite, tu supprimes tous les onglets dont le nom commence par "Zone".
Pour ça, tu fais une boucle For Each qui scrute la collection Worksheets de ton classeur et pour toutes celles dont le nom commence par "Zone" (en utilisant une fonction Left), tu supprimes.
https://msdn.microsoft.com/fr-fr/lib.../gg264596.aspx
https://msdn.microsoft.com/fr-fr/lib.../gg251556.aspx
https://msdn.microsoft.com/fr-fr/lib.../ff196974.aspx
Ensuite, tu lances une boucle For Each qui va scruter toutes les cellules de ta liste de Zones sans doublons.
Pour chacune, tu crées une nouvelle Worksheet à qui tu donnes le nom de la zone.
https://msdn.microsoft.com/fr-fr/lib.../ff838966.aspx
Tu changes le filtre pour n'afficher que les ligne de la zone voulue.
https://msdn.microsoft.com/fr-fr/lib.../ff194617.aspx
Tu copies toutes les ligne visibles. Pour n'avoir que les lignes visibles, tu peux utiliser SpecialCells avec l'option xlCellTypeVisible.
https://msdn.microsoft.com/fr-fr/lib.../ff196157.aspx
https://msdn.microsoft.com/fr-fr/lib.../ff837760.aspx
Tu colles dans la worksheet qui a le nom de ta zone, avec un PasteSpecial.
https://msdn.microsoft.com/fr-fr/lib.../ff839476.aspx
Au passage, un filtre avancé copie les données - filtrées ou non - d'une feuille à une autre
avec ou sans doublon et ce en une seule instruction …
Partager