Bonjour J.N.
Tu trouveras en pièce jointe un exemple qui après adaptation devrait répondre au problème posé.
Il intègre trois séquences de code :
=======================================================
Private Sub Workbook_Open()
'Range("Devis!G2") = Range("Devis!G2") + 1
Range("Devis!G15").ClearContents
Sheets("Devis").CommandButton1.Enabled = False
End Sub
=======================================================
Private Sub CommandButton1_Click()
Set Row = Sheets("Base").Range("RngBase").Cells(65536).End(xlUp).Offset(1).EntireRow
Row.Cells(1) = Range("G2").Value
Row.Cells(2) = Now
Row.Cells(3) = Range("G15").Value
Row.Cells(4) = Range("G16").Value
Row.Cells(5) = Range("G17").Value
Row.Cells(6) = Range("G18").Value
Range("G15:G18").ClearContents
CommandButton1.Enabled = False
Range("Devis!G2") = Range("Devis!G2") + 1
Sheets("Base").Activate
End Sub
=======================================================
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("G15"), Target) Is Nothing Then
Range("G16:G18").ClearContents
ClientExist = False
For Each Cel In Sheets("Clients").Range("RngClients").Columns("A").Cells
If Range("G15").Value = Cel.Value Then
ClientExist = True
Exit For
End If
Next Cel
If ClientExist Then
Range("G16").Value = Cel.Offset(0, 1)
Range("G17").Value = Cel.Offset(0, 2)
Range("G18").Value = Cel.Offset(0, 3)
CommandButton1.Enabled = True
Else
If Range("G15").Value <> "" Then _
MsgBox "Le client " & Range("G15").Value & " n'existe pas." & Chr(13) & _
"Veuillez le créer puis recommencer."
CommandButton1.Enabled = False
End If
End If
End Sub
=======================================================
Je pense que c'est suffisamment simple pour ce passer d'explications,
mais le cas échéant n'hésite pas à en demander.
NB. Je pense que l'usage d'une "UserForm" serait toutefois plus adapté à la saisie du devis.
Cordialement.
Omicron.