[VBA excel] Eviter les doublons
Résolu
pissdrunk
Messages postés
66
Statut
Membre
-
pissdrunk Messages postés 66 Statut Membre -
pissdrunk Messages postés 66 Statut Membre -
Bonjour,
Je travaille sur un fichier Excel qui se présente comme suit:
Identifiants NOM PRENOM VOITURE
123 JEAN Stephan POLO
123 JEAN Stephan ESPACE
123 JEAN Stephan TWINGO
948 CUSSONET Simon MINI COOPER
715 PAUL Luc CLIO
715 PAUL Luc 206
A chaque ligne correspond un véhicule. Je souhaiterai faire une macro qui permettrait que les différents véhicules de chaque personne apparaissent sur la meme ligne dans des colonnes différentes. Ce qui donnerai comme résultat le tableau suivant:
Identifiants NOM PRENOM VOITURE VOITURE2 VOITURE3
123 JEAN Stephan POLO ESPACE TWINGO
948 CUSSONET Simon MINI COOPER
715 PAUL Luc CLIO 206
Je n'obtiendrai donc que 3 lignes. Je ne m'y connais pas en VBA c'est pour ca que je viens vers vous !
Merci beaucoup pour votre aide !
++
Je travaille sur un fichier Excel qui se présente comme suit:
Identifiants NOM PRENOM VOITURE
123 JEAN Stephan POLO
123 JEAN Stephan ESPACE
123 JEAN Stephan TWINGO
948 CUSSONET Simon MINI COOPER
715 PAUL Luc CLIO
715 PAUL Luc 206
A chaque ligne correspond un véhicule. Je souhaiterai faire une macro qui permettrait que les différents véhicules de chaque personne apparaissent sur la meme ligne dans des colonnes différentes. Ce qui donnerai comme résultat le tableau suivant:
Identifiants NOM PRENOM VOITURE VOITURE2 VOITURE3
123 JEAN Stephan POLO ESPACE TWINGO
948 CUSSONET Simon MINI COOPER
715 PAUL Luc CLIO 206
Je n'obtiendrai donc que 3 lignes. Je ne m'y connais pas en VBA c'est pour ca que je viens vers vous !
Merci beaucoup pour votre aide !
++
A voir également:
- [VBA excel] Eviter les doublons
- Liste déroulante excel - Guide
- Éviter pub youtube - Accueil - Streaming
- Word et excel gratuit - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
6 réponses
bonjour
En supposant que ton tableau commence en A1 et que chaque identifiant est unique, je te propose :
En supposant que ton tableau commence en A1 et que chaque identifiant est unique, je te propose :
Private Sub groupe() Dim lig As Double ActiveSheet.UsedRange.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 'tri sur identifiant For lig = 1 To ActiveSheet.UsedRange.Rows.Count If Cells(lig, 1).Value = Cells(lig + 1, 1).Value _ And Cells(lig, 1).Value <> "" Then Cells(lig, Cells(lig, 256).End(xlToLeft).Column + 1).Value _ = Cells(lig + 1, 4).Value 'regroupement Rows(lig + 1).Delete 'suppression ligne regroupée lig = lig - 1 End If Next lig End Sub
Merci beaucoup gbinforme !
Ca fonctionne. Je voudrais juste unn renseignement supplémentaire. Dans mon exemple le nombre maximum de voiture par personne est de 3. Est ce que le code fonctionne egalement si une personne en possède 10 voir plus ?
Ca fonctionne. Je voudrais juste unn renseignement supplémentaire. Dans mon exemple le nombre maximum de voiture par personne est de 3. Est ce que le code fonctionne egalement si une personne en possède 10 voir plus ?
bonjour
Est ce que le code fonctionne egalement si une personne en possède 10 voir plus ?
Si tu as la version 2003 ou inférieur tu peux aller jusqu'à 256 colonnes donc 253 voitures.
Pour en avoir une par jour annuel, il faut passer à Excel 2007 qui autorise 512 colonnes, sauf erreur...
Est ce que le code fonctionne egalement si une personne en possède 10 voir plus ?
Si tu as la version 2003 ou inférieur tu peux aller jusqu'à 256 colonnes donc 253 voitures.
Pour en avoir une par jour annuel, il faut passer à Excel 2007 qui autorise 512 colonnes, sauf erreur...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dernière petite question,
Si je rajoute dans mon tableau initial une colonne avec la marque de la voiture et que je souhaite suite à l'éxécution de la macro que la marque s'ajoute à coté du modèle de la voiture, que dois-je modifier dans le code vba ?
pour obtenir par exemple (sachant que les marques sont renseignées ds le tableau initial):
123 JEAN Stephan POLO VOLKSWAGEN ESPACE RENAULT TWINGO RENAULT
D'avance merci.
Si je rajoute dans mon tableau initial une colonne avec la marque de la voiture et que je souhaite suite à l'éxécution de la macro que la marque s'ajoute à coté du modèle de la voiture, que dois-je modifier dans le code vba ?
pour obtenir par exemple (sachant que les marques sont renseignées ds le tableau initial):
123 JEAN Stephan POLO VOLKSWAGEN ESPACE RENAULT TWINGO RENAULT
D'avance merci.