Autres comparaison nom prenom avec prenom nom

BIL boud

XLDnaute Occasionnel
bonjour

jai deux liste de nom prenom , une dans la colonne A et la 2 deuxieme dans la colonne C
l'objectif est de chercher les noms prenoms de la colonne C dans la colonne A
pour les nom prenom qui se compose d'un seul nom et un seul prenom (Jak LABIN) mon code fonctionne tres bien , mais des que jai un nom prenom qui est compose de 3 mot ( Jak LE LABIN) mon code ne fonctionne plus

voici le code :
VB:
Function ch_sans_accent(ch_characters As Range)
liste_accents = "ÉÈÊËÔéèêëàçùôûïî"
liste_sans_accents = "EEEEOeeeeacuouii"
tempo = ch_characters.Value
For i = 1 To Len(tempo)
        s = InStr(liste_accents, Mid(tempo, i, 1))
        If s > 0 Then Mid(tempo, i, 1) = Mid(liste_sans_accents, s, 1)
Next
ch_sans_accent = tempo
End Function


Sub recup_absence()


Dim k As Long, L As Long
Dim x, y, w, z As String


For L = 2 To 20
a = ch_sans_accent(Cells(L, 1))

If Cells(L, 1) <> "" Then
    Tablo = Split(Cells(L, 1), " ")
    If UBound(Tablo) = 1 Then
x = Left(a, InStr(a, " ") - 1)
y = Mid(a, Len(x) + 2, Len(a))
End If
End If


For k = 24 To 100
b = ch_sans_accent(Cells(k, 3))
If Cells(k, 3) <> "" Then
    Tablo = Split(Cells(k, 3), " ")
    If UBound(Tablo) = 1 Then
w = Left(b, InStr(b, " ") - 1)
z = Mid(b, Len(w) + 2, Len(b))

End If
End If

            
              If Cells(L, 1) <> "" Then
              If Cells(k, 3) <> "" Then
             If LCase(b) = LCase(a) Then
             Cells(L, 2) = k - 23
          
              ElseIf LCase(x) = LCase(z) And LCase(y) = LCase(w) Then
              Cells(L, 2) = k - 23
            End If
            End If
             End If
        
    
        
    Next
Next

End Sub

ce que 'jai essaye :
Code:
If UBound(Tablo) = 2 Then
le probleme c que il me recupere toujour le premier mot et on sait pas si c bien le nom ou le prenom
exemple

Jak LE LABIN
avec ce code
Code:
If UBound(Tablo) = 2 Then
il va me recuperer Jak et LE LABIN separement
imaginon que dans la 2 eme liste on trouve le nom et prenom mais inverssement :
LE LABIN Jak mon code va recuperer LE et LABIN Jak
du coup la comparaison est false alors que c le mm nom et prenom

je ne sais pas trop comment men sortir c ppour cela je viens vers vous afin de maider dans mon probleme

ps : j'ai pense a utiliser la proprite
Code:
InStr
mais j'arrive pas a dessocier le nom prenom en 3
Code:
Tablo = Split(Cells(k, 3), " ")
 

Discussions similaires

Réponses
4
Affichages
165