[VBA excel] Eviter les doublons

Résolu
pissdrunk Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
pissdrunk Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -
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 !

++
A voir également:

6 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

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
0
pissdrunk Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   22
 
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 ?
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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...
0
pissdrunk Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   22
 
Ok je comprend mieux maintenant, merci beaucoup, ca répond exactement à mon attente !

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pissdrunk Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   22
 
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.
0
pissdrunk Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   22
 
C'est bon j'ai réussi. merci !
0