Ketamacanna: Cool, j'ai reussi a adapter ton code au mien. merci pour ton aide! En passant, quel est la difference entre Référence = Right(c, Len(c)) et Reference=c ?
Private Sub CommandButton27_Click() '<SORT> renumerote les etiquettes d'une selection et toutes les instructions relie et ce, pour tout le code du projet
Dim c As Range
Dim Référence As String
Dim DerLig As Integer
Dim i As Integer
Dim j As Integer
Dim position As Integer
Dim N As Integer
Dim valeur As String
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les procédures évènementielles
N = 1 '# d'etiquette ex. JP INT1
DerLig = Range("I65536").End(xlUp).Row
For Each c In Selection
'Référence = Right(c, Len(c))
If c <> "" Then
For i = 3 To DerLig
If Right(Cells(i, 9), Len(c)) = c And Cells(i, 9).Interior.ColorIndex = xlNone Then 'pour chaque cellule trouver:
position = 0
For j = 1 To Len(Cells(i, 9))
valeur = Mid(Cells(i, 9), j, 1)
If Not IsNumeric(valeur) Then
position = j
End If
Next
Cells(i, 9) = Left(Cells(i, 9), position) & N 'attribution d'un nouveau numero pour l'instruction
Cells(i, 9).Interior.ColorIndex = 6 ' on rempli temporairement avec couleur jaune.Necessaire afin que la cellule ne soit pas traite une 2ieme fois
End If
Next i
N = N + 1
End If
Next c
N = 1
Range("I3:I65536").Interior.ColorIndex = xlColorIndexNone
For Each c In Selection
If c <> "" Then
position = 0
For j = 1 To Len(c)
valeur = Mid(c, j, 1)
If Not IsNumeric(valeur) Then
position = j
End If
Next 'attribution d'un nouveau numero pour les etiquettes
c = Left(c, position) & N 'attribution d'un nouveau numero pour l'instruction
N = N + 1
End If
Next c
Application.EnableEvents = True 'reactive les procédures évènementielles
End Sub