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 :
ce que 'jai essaye :
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
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
mais j'arrive pas a dessocier le nom prenom en 3
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
exemple
Jak LE LABIN
avec ce code
Code:
If UBound(Tablo) = 2 Then
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
Code:
Tablo = Split(Cells(k, 3), " ")