Recherche nom prenom dans une plage de cellule

Bonjour,
j'aimerai avoir une macro qui recupere le nom et prenom dans une feuille excel et recherche la presence de cette personne dans des cellules dans une autre feuille excel, et afficher le numero ID de la personne a coté de la cellule qui contient la nom de la personne
Je vous joins un exemple de données en PJ
Il faudrait que je puisse faire une recherche a la fois sur le Nom+ Prenom et sur le Prenom + Nom pour que ca soit exhaustif

30cbl-test.xlsx (10.09 Ko)

Merci d'avance

Bonsoir henri27

Perso, je n'ai pas compris ce que vous chercher à faire (quelle feuille)

A+

Bonjour ,

Dans ma feuille "RH" il y'a deux colonnes (nom , prenom) et dans ma feuille CBL il y'a une colonne avec des clauses (texte).

J'aimerai pouvoir concatener les données de ma feuille RH sous la forme Nom + prenom et faire une recherche dans la colonne contenant les clauses. La recherche devra se faire sous la forme Nom+prenom et Prenom + nom afin d'avoir quelque chose d'exhaustif.

Si une clause contient un nom+prenom ou un prenom+nom, mettre a coté de la clause le ID ou le nom de la personne qui est dans la feuille RH

Je sais pas si j'ai été assez clair ?

Par exemple j'ai ce code qui me sert de base mais il ne me renvois aucun affichage :

Sub controle()
Dim feuilleSource As Worksheet
Dim feuilleDestination As Worksheet
Dim lastRowSource As Long
Dim lastRowDestination As Long
Dim nom As String
Dim prenom As String
Dim concatene As String
Dim i As Long

' Spécifiez le nom de la feuille source
Set feuilleSource = ThisWorkbook.Sheets("RH")

' Spécifiez le nom de la feuille de destination
Set feuilleDestination = ThisWorkbook.Sheets("CBL")

' Trouver la dernière ligne de la colonne A dans la feuille source
lastRowSource = feuilleSource.Cells(feuilleSource.Rows.Count, "A").End(xlUp).Row

' Parcourir les données dans la feuille source
For i = 2 To lastRowSource
' Récupérer le nom et le prénom de chaque ligne
nom = feuilleSource.Cells(i, "A").Value
prenom = feuilleSource.Cells(i, "B").Value

' Concaténer le nom et le prénom
concatene = nom & " " & prenom

' Trouver la dernière ligne de la colonne A dans la feuille de destination
lastRowDestination = feuilleDestination.Cells(feuilleDestination.Rows.Count, "A").End(xlUp).Row

' Parcourir les cellules de la colonne A dans la feuille de destination
For j = 2 To lastRowDestination
' Vérifier si le nom et le prénom sont présents dans la cellule
If InStr(1, feuilleDestination.Cells(j, "A").Value, concatene, vbTextCompare) > 0 Then
' Afficher le nom et le prénom à côté de la cellule trouvée
feuilleDestination.Cells(j, "B").Value = concatene
End If
Next j
Next i
End Sub

Edit modo : code à mettre entre balises avec le bouton </> merci d'y faire attention la prochaine fois

Bonjour henri27,

Une proposition ci-jointe. Le code est dans le module1, j'ai ajouté une fonction de modification du texte pour remplacer les caractères accentués, le ç, le - et les doubles espaces au cas où d'un côté ou de l'autre un prénom ou nom soit, par exemple, écrit avec é d'un côté et e de l'autre.

49cbl-test.xlsm (25.14 Ko)

Cdlt,

Cylfo

Rechercher des sujets similaires à "recherche nom prenom plage"