Macro Excel
Fermé
flo56
-
Modifié par flo56 le 15/07/2010 à 18:18
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 - 20 juil. 2010 à 00:33
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 - 20 juil. 2010 à 00:33
A voir également:
- Macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Macro word - Guide
- Aller à la ligne excel - Guide
6 réponses
m@rina
Messages postés
20885
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
19 septembre 2024
11 325
16 juil. 2010 à 00:17
16 juil. 2010 à 00:17
Bonjour
Voici une macro très simple qui utilise les filtres élaborés.
Pour cela, partons du principe que :
- ta feuille qui contient la base se nomme Feuil1
- la plage qui contient la base se nomme "BASE"
- tu dois créer une liste sans doublons de toutes tes régions, et tu nommeras cette liste "régions" (sans mettre de titre)
- les cellules I1 et I2 de ta feuil1 sont libres, car elles seront utilisées pour les critères. Sinon, choisis deux autres cellules et modifie la macro.
m@rina
Voici une macro très simple qui utilise les filtres élaborés.
Pour cela, partons du principe que :
- ta feuille qui contient la base se nomme Feuil1
- la plage qui contient la base se nomme "BASE"
- tu dois créer une liste sans doublons de toutes tes régions, et tu nommeras cette liste "régions" (sans mettre de titre)
- les cellules I1 et I2 de ta feuil1 sont libres, car elles seront utilisées pour les critères. Sinon, choisis deux autres cellules et modifie la macro.
Sub ventil() Dim mafeuille As Worksheet, région As String, cellule As Range Set mafeuille = Sheets("feuil1") mafeuille.Range("I1").Value = "région" For Each cellule In Range("regions") région = cellule.Value mafeuille.Range("I2").Value = cellule.Value Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = région Range("BASE").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=mafeuille.Range("I1:I2"), CopyToRange:=Range("A1") Next mafeuille.Range("I1:I2").Clear End Sub
m@rina
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 16/07/2010 à 00:35
Modifié par lermite222 le 16/07/2010 à 00:35
Bonjour tou(te)s
Pour une autre solution tu peu aussi regarder cette démo le titre n'est pas bien choisi mais intèresse toi à la feuille Liste Fiche elle comporte un filtre très pratique, par exemple dans la colonne des villes sur la cellule de la ligne 1 (en jaune) tu tape T, toute les villes commencant pat T seront sélectionnées. Supprimer le T remet toute la feuille.
Ensuite il est facile de faire quelque lignes de code pour copier les lignes visibles dans une autre feuille.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Pour une autre solution tu peu aussi regarder cette démo le titre n'est pas bien choisi mais intèresse toi à la feuille Liste Fiche elle comporte un filtre très pratique, par exemple dans la colonne des villes sur la cellule de la ligne 1 (en jaune) tu tape T, toute les villes commencant pat T seront sélectionnées. Supprimer le T remet toute la feuille.
Ensuite il est facile de faire quelque lignes de code pour copier les lignes visibles dans une autre feuille.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
948
20 juil. 2010 à 00:33
20 juil. 2010 à 00:33
Salut le forum
Avec un exemple de Jacques Boisgontier : CreeOngletsService.xls
Mytå
Avec un exemple de Jacques Boisgontier : CreeOngletsService.xls
Mytå
j'ai un peu avancé depuis mon message de tout à l'heure. (je me suis débrouillé avc ce que je connaissais mais ca ne fait pas tout...)
je ne sais pas si il y existe une fonction qui fait tout direct du coup moi, pour l moment je fait comme ca :
1° je copie tout le tableau
2° je renome l'onglet au nom de la région choisie
3° je supprime toutes le lignes qui ne concernent pas la région qui corespond au nom de l'onglet
Mes problèmes :
1° je ne sais pas comment fair ma condition pour supprimer les lignes qui ne vont pas
2° je ne sais pas comment faire ca automatiquement pour otutes les régions
Rq : Je sais le nombre et le nom de toutes les régions dans lesquelles j'ai des clients
Merci
Flo
je ne sais pas si il y existe une fonction qui fait tout direct du coup moi, pour l moment je fait comme ca :
1° je copie tout le tableau
2° je renome l'onglet au nom de la région choisie
3° je supprime toutes le lignes qui ne concernent pas la région qui corespond au nom de l'onglet
Mes problèmes :
1° je ne sais pas comment fair ma condition pour supprimer les lignes qui ne vont pas
2° je ne sais pas comment faire ca automatiquement pour otutes les régions
Rq : Je sais le nombre et le nom de toutes les régions dans lesquelles j'ai des clients
Merci
Flo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci (un peu tardif dsl) beaucoup pour ces réponse. Je les teste et vous tiens au courant!
Bonne vacance pour ceux qui en ont, bon courage aux autres ;-)
Bonne vacance pour ceux qui en ont, bon courage aux autres ;-)