Bonjour le fil, bonjour le forum,
Arf ! ne prend pas la mouche c'était juste pour la foune... Heu ! pardon, pour le fun voulais-je dire...
InputBox a deux utilisations. La Fonction est la Méthode. Je lui préfère la Méthode car elle permet de sortir plus facilement quand on clique sur le bouton Annuler qu'affichent l'une et l'autre des possibilités. Regarde l'aide VBA...
Sinon ça plante car dans ce cas la variable LI n'est pas définie. Elle vaut 0 et Cells(0, 2) génère une erreur.
Ton code modifié (à ma sauce, j'espère qu'elle plaira à ta prof...)
Sub Macro1()
Dim nvd As Integer
Dim C As Variant
Dim R As Range
Dim LI As Integer
dev:
nvd = MsgBox("Voulez vous créer un nouveau devis: ", 36, "Nouveau Devis")
If nvd = vbNo Then Exit Sub
deb:
C = Application.InputBox("Entrer le code client: ", "SAISIE", Type:=2)
If C = False Then Exit Sub
Set R = Sheets("CLIENTS").Columns(1).Find(C, , xlValues, xlWhole)
If Not R Is Nothing Then
LI = R.Row
Else
If MsgBox("Code erroné ! Voulez-vous recommencer ?", 36, "ATTENTION") = vbYes Then GoTo deb 'Else Exit Sub
End If
Worksheets("DEVIS").Cells(4, 3).Value = Worksheets("CLIENTS").Cells(LI, 2).Value
GoTo dev
End Sub