Bonjour à toutes et à tous,
J'ai une macro qui se lance quand deux cellules sont renseignées plage (B5:C14). Mon problème est que la rechercheV qui est derrière ne se lance pas. Ci-joint mon code.
Merci pour votre aide.
J'ai une macro qui se lance quand deux cellules sont renseignées plage (B5:C14). Mon problème est que la rechercheV qui est derrière ne se lance pas. Ci-joint mon code.
Merci pour votre aide.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pl As Range 'déclare la variable pl (PLage)
Dim r As Range 'déclare la variable r (Recherche)
If Intersect(Target, Range("B5:C14")) Is Nothing Then Exit Sub
With Sheets("plct type essai")
For i = 5 To 14
If .Cells(i, 2) <> "" And .Cells(i, 3) <> "" Then
.Cells(i, 4).Value = .Cells(i, 2).Value & .Cells(i, 3).Value
.Cells(i + 13, 1).Value = .Cells(i, 2).Value
.Cells(i + 27, 1).Value = .Cells(i, 2).Value
.Cells(i + 42, 1).Value = .Cells(i, 2).Value
.Cells(i + 56, 1).Value = .Cells(i, 2).Value
.Cells(i + 71, 1).Value = .Cells(i, 2).Value
End If
Next i
End With
If Intersect(Target, Range("D5:D14")) Is Nothing Then Exit Sub
With Sheets("Nomenclature") 'prend en compte l'onglet "Nomenclature"
Set pl = .Range("A4:A" & .Range("A65536").End(xlUp).Row) 'définit la plage de recherche
End With 'fin de la prise en compte de l'onglet "Nomenclature"
Set r = pl.Find(Target.Value, , xlValues, xlWhole) 'définit la recherche
If Not r Is Nothing Then 'condition : si il existe au moins une occurrence de D dans la plage pl
'place le résultat en E et F
Target.Offset(0, 1).Value = r.Offset(0, 3).Value
Target.Offset(0, 2).Value = r.Offset(0, 4).Value
Else 'sinon
MsgBox "Code non trouvé !" 'message
Exit Sub
End If
: Exit Sub
End Sub