Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Croisement de donées exotique

  • Initiateur de la discussion Initiateur de la discussion kishkool
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kishkool

Guest
Bonjour à tous,

Voici un petit problème sur lequel je buche depuis un certain temps.

J'ai 4 colonnes comme ceci :
1 2 3 4

11 Jean 1 Jean
13 Paul 2 Paul
15 David;Paul 3 David
16 Jean 4 Étienne


J'aimerai pouvoir remplacer les prénoms de la colonne 2 par la valeur dans la colonne 3 qui correspond au bon nom.

Vous avez des pistes? 🙄

Merci !
 
Re : Croisement de donées exotique

Mon tableau s'est un peu aplatit après validation ^^

Alors en fait imagine que j'ai 10000 prénoms unique dans une colonne. Chaque prénom à un identifiant unique dans sa colonne adjacente.

1 Albert
2 Antoine
3 Amelie
4 Bob

..etc

Ensuite j'ai deux colonnes avec un ID dans la première et un ou plusieurs prénom dans la deuxième (séparé d'un ; )

15 Anthony
19 Barbara
20 Barbara
30 Julien
59 Jeremy;Anthony;Barbara
..
etc

Je souhaite donc que ces prénoms soit remplacés par leur ID unique (1 pour Albert, 2 pour Antoine..etc).

En gros si j'avais pas eu autant de données j'aurai juste fait rechercher remplacé. Mais la c'est pas pensable.
 
Re : Croisement de donées exotique

Bon,

je me suis résolu à te pondre ton fichier exemple....
C'est quand même plus clair avec un petit fichier, vois si ça donne ce que tu veux :
VB:
Sub test()
Dim c As Range, A, t As Long
Set c = [D1]
Do While c <> ""
    A = Split(c, ";")
    For t = LBound(A) To UBound(A)
      If Not IsError(Application.Match(A(t), Range("B1:B" & Range("B1").End(xlDown).Row), 0)) Then A(t) = [A1].Offset(Application.Match(A(t), Range("B1:B" & Range("B1").End(xlDown).Row), 0) - 1, 0)
    Next
    c = Join(A, ";")
  Set c = c.Offset(1, 0)
Loop
End Sub

Edit: Salutations David
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
0
Affichages
433
Réponses
0
Affichages
556
Réponses
3
Affichages
880
D
Réponses
4
Affichages
1 K
D
Réponses
1
Affichages
578
J
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…