Je t'explique ma procédure.
Private Sub CommandButton1_Click()
If (Cells(2, 1) <> "" And Cells(2, 2) <> "" And Cells(2, 3) <> "") Then
ligne = Range("A65536").End(xlUp).Row + 1
Cells(ligne, 1) = Cells(2, 1).Value
Cells(ligne, 2) = Cells(2, 2).Value
Cells(ligne, 3) = Cells(2, 3).Value
Range("A2:C2").ClearContents
Else
MsgBox ("Vous devez obligatoirement enregistrer 3 valeurs")
Exit Sub
End If
End Sub
D'abord, je vérifie la condition des cellules A2, B2 et C2 et si elles sont toutes les trois différentes de vides, je procède.
If (Cells(2, 1) <> "" And Cells(2, 2) <> "" And Cells(2, 3) <> "") Then
Ensuite, je lui demande de trouver la dernière ligne avec une valeur de la colonne A à laquelle j'ajoute 1 pour avoir ma première ligne vide.
ligne = Range("A65536").End(xlUp).Row + 1
Ma cellule de la ligne vide et de la première colonne est égale à la cellule de la ligne 2 et de la première colonne.
Cells(ligne, 1) = Cells(2, 1).Value
Même chose pour les cellules suivantes.
Cells(ligne, 2) = Cells(2, 2).Value
Cells(ligne, 3) = Cells(2, 3).Value
Je vide le contenu des cellules A2:C2
Range("A2:C2").ClearContents
Le Else s'applique dans le cas où il manquerait une donnée dans les cellules A2:C2. J'envois alors un message et je quitte la procédure.