XL 2021 (RESOLU) Concaténation et Remplacement des Prénoms par Noms en ordre alpha

yannlion

XLDnaute Junior
Bonjour le forum !

J'ai un double soucis sur une macro.
J'aimerais remplacer les 2 prénoms des duos par les deux noms en ordre alphabétique séparés par " / " (voir le fichier exemple).

Autant j'arriverais à me dépatouiller sur une ligne autant sur deux, cela dépasse mes compétences ...

Merci d'avance pour votre aide
Yann

PS : l'ordre alpha est facultatif
 

Pièces jointes

  • clASSEUR.xlsx
    10.7 KB · Affichages: 12
Dernière édition:

merinos

XLDnaute Accro
C'est gentil... mais il n'y a pas de nom de club...

En plus si Elisabeth Taylor et Elisabeth Tatcher jouent a l'AC Milan....

Il me semble qu'il n'y a pas assez d'info pour faire les remplacement de données.


1697207459280.png
 

yannlion

XLDnaute Junior
C'est gentil... mais il n'y a pas de nom de club...

En plus si Elisabeth Taylor et Elisabeth Tatcher jouent a l'AC Milan....

Il me semble qu'il n'y a pas assez d'info pour faire les remplacement de données.


Regarde la pièce jointe 1181037
En fait les duos apparaissent sur deux lignes identiques en colonne C et les prénoms sont ceux en colonne F sur ces deux lignes.
L'idée est juste de remplacer les prénoms que l'on retrouve en colonne C par les noms en colonne E quand il y a écrit Duo en colonne A
 

yannlion

XLDnaute Junior
En fait les duos apparaissent sur deux lignes identiques en colonne C et les prénoms sont ceux en colonne F sur ces deux lignes.
L'idée est juste de remplacer les prénoms que l'on retrouve en colonne C par les noms en colonne E quand il y a écrit Duo en colonne A
Je crois que j'ai solutionné avec cette macro :

VB:
 For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row
    If Range("C" & i).Value = "Duo" Then
        If Range("G" & i).Value = Range("G" & i + 1).Value Then
            Range("G" & i).Value = Replace(Range("G" & i).Value, Range("J" & i).Value, Range("I" & i).Value)
            Range("G" & i).Value = Replace(Range("G" & i).Value, Range("J" & i + 1).Value, Range("I" & i + 1).Value)
        Else
            Range("G" & i).Value = Range("G" & i - 1).Value
        End If
    End If
Next

Peut être pas très propre mais fonctionnel :)
 

Statistiques des forums

Discussions
312 209
Messages
2 086 274
Membres
103 168
dernier inscrit
isidore33