salut à tous,
dans mon classeur excel, je voulais generer un code qui se place en colonne C par rapport au mot inscrit en colonne A et B sur la meme ligne.
Je m'explique :
A3 = drosera
B3 = capensis alba
C3 = DCA01 (le fameux code)
En gros le code generer prend la premiere lettre de chaque mot plus la valeur 01, si DCA01 existe alors il pass a DCA02, etc...
On m'a gentillement fait la macro, mais je n'arrive pas a l'adapter pour que le processus commence a partir de A3, car la si il n'y a rien en ligne 1 ça ne marche pas.
Voici la macro:
Sub AjoutCode()
Dim strCode As String, I As Integer, L As Long, J As Long, N As Integer
L = 1
While Range("A" & L).Value <> ""
strCode = Left(Range("A" & L).Value, 1)
I = 1
Do While I > 0
I = InStr(I + 1, Range("A" & L).Value, " " )
If I > 0 Then
strCode = strCode & Left(Mid(Range("A" & L).Value, I + 1), 1)
End If
Loop
strCode = strCode & Left(Range("B" & L).Value, 1)
I = 1
Do While I > 0
I = InStr(I + 1, Range("B" & L).Value, " " )
If I > 0 Then
strCode = strCode & Left(Mid(Range("B" & L).Value, I + 1), 1)
End If
Loop
J = 1
N = 0
strCode = UCase(strCode)
While Range("C" & J).Value <> ""
If J <> L Then
If Left(Range("C" & J).Value, Len(Range("C" & J).Value) - 2) = strCode Then
If CInt(Right(Range("C" & J).Value, 2)) > N Then N = CInt(Right(Range("C" & J).Value, 2))
End If
End If
J = J + 1
Wend
N = N + 1
If Range("C" & L).Value = "" Then
If N < 10 Then
Range("C" & L).Value = strCode & "0" & N
Else
Range("C" & L).Value = strCode & N
End If
End If
L = L + 1
Wend
End Sub
Donc si quelqu'un a une idée, qu'il n'hésite pas ???
Merci
@+