VBA - Userform avec Case à cocher avec cellule variable

Bonjour, je vous présente ma problématique

J'ai un fichier de suivi d'audit à compléter. Pour le compléter au fur et à mesure de manière propre, j'ai créé un formulaire avec la date, le nom ... pour toutes ces fonctions c'est bon ça marche. Chaque nouveau formulaire rempli vient s'écrire que la dernière ligne. Maintenant, je souhaite ajouter dans mon user form des checkbox pour choisir le type d'audit réalisé (ex : locaux, interne, labo) et que cela vienne mettre une X dans la bonne colonne de la dernière ligne.

Seulement je n'arrive pas à remplacer ("A2") si dessous par la variable de la dernière ligne. J'ai essayé par

Macro de départ :

Private Sub CommandButton1_Click()

With Worksheets("Suivi")

derlign = .Range("b65536").End(xlUp).Row + 1

.Cells(derlign, 2).Value = TextBox1

.Cells(derlign, 3).Value = TextBox16

.Cells(derlign, 4).Value = TextBox2

.Cells(derlign, 5).Value = ComboBox1

.Cells(derlign, 6).Value = TextBox3

.Cells(derlign, 7).Value = TextBox17

.Cells(derlign, 8).Value = ComboBox12

If CheckBox1.Value = True Then 'Si coché ...

Range("A2") = "X"

Else 'Si non coché ...

Range("A2") = ""

End If

End With

Unload Me

End Sub

Essais de modification

If CheckBox1.Value = True Then 'Si coché ...

derlign = .Range("b65536").End(xlUp).Row + 1

Range("derlign,10") = "X"

Else 'Si non coché ...

Range("derling") = ""

End If

Je débute en VBA et là je coince vraiment !!

Merci d'avance pour votre aide et votre indulgence ... en espérant avoir été assez clair !

Bonjour,

Il faut choisir ...

If CheckBox1.Value = True Then 'Si coché ...
Cells(derlign, 1) = "X"
Else 'Si non coché ...
Cells(derlign, 1) = ""
End If

ou

If CheckBox1.Value = True Then 'Si coché ...
Range("A" & derlign) = "X"
Else 'Si non coché ...
Range("A" & derlign) = ""
End If

Cordialement.

Merci beaucoup ça fonctionne !!

Et j'ai compris la double information que je lui donnait !!!

Bonne journée !

Bonjour à tous,

Si je peux me permettre ... le bout de code est à l'intérieur du With ... End With.

Il faut placer des points ( . ) devant "Cells" ou "Range" ... au cas où l'utilisateur ne soit pas sur la feuille concernée ( Worksheets("Suivi") ).

If CheckBox1.Value = True Then 'Si coché ...
.Cells(derlign, 1) = "X"
Else 'Si non coché ...
.Cells(derlign, 1) = ""
End If

ou

If CheckBox1.Value = True Then 'Si coché ...
.Range("A" & derlign) = "X"
Else 'Si non coché ...
.Range("A" & derlign) = ""
End If

ric

Rechercher des sujets similaires à "vba userform case cocher variable"