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
Bonjour,

J'ai un problème concernant excel qu'il faudrait que je règle avec une macro je pense mais je ne suis que débutant en la matière.

Je m'explique : j'ai un tableau avec les colonnes suiventes :

matricule | nom | prénom | Région

Je voudrais, à partir de ce tableau mettre dans un onglet une copie du tableau avec uniquement les personnes habitant en "Ile de France", dans l'onglet suivant uniquement les personnes habitant en "Bretagne" et ainsi de suite.

Actuellement je fais ca manuellement avec un tableau croisé dynamique et des copié collé mais ca serait plus raide et engendrerait moins de fautes si une macr faisait tout ca à ma place.

J'ai passé l'après midi à chercher sur internet, sur l'aide d'excel mais je ne trouve pas de réponses à mes questions ou bien alors des réponses que je ne comprend pas...

Si vous avez des petits indices à me donner, des liens vers des sites avec de bons tutoriaux... je suis preneur

Merci beaucoup de votre aide

Flo
A voir également:

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
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.

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
1
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
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)
1
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
Salut le forum

Avec un exemple de Jacques Boisgontier : CreeOngletsService.xls

Mytå
1
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
0

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 ;-)
0
Bonsoir,


Bien sur, avec une macro on peut faire tout ce qu'on veut mais .... ça sert à quoi que Ducros se décarcasse ??? ^^

Les filtres automatiques correspondent aussi à ton besoin non ???

Et c'est très simple...

A bientôt.
0