Je vous recontacte aujourd'hui car j'aurais besoin d'un tout petit coup de pouce.
Dans une Userform j'ai 8 checkbox "cochable". Ma dernière ligne se crée à partir du nombre de checkbox cochée inscrites dans la colonne F.
J'ai également entre 1 et 5 mots à inscrire dans la colonne A.
Dans le cas où le nombre de mot inscrit est supérieur au nombre de checkbox cochées la derniére ligne devrait se créer à partir en fonction de la colonne A.
Je ne pense pas être trés claire. Mon programme est le suivant :
En fait : si j'ai par exemple 3 mots dans la colonne A et 2 dans la colonne F, la dernière ligne doit se faire selon la colonne A
derlign = .Range("A65536").End(xlUp).Row + 1
Si j'ai 2 mots dans la colonne A et 3 dans la F, la dernière ligne doit se faire selon la colonne F
derlign = .Range("F65536").End(xlUp).Row + 1
Je souhaite faire une sorte de basculement de fonction "dernière ligne".
Du dis que tu as entre 1 et 5 mots à écrire dans la colonne A. 4 sont issu, j'imagine, des 4 textboxes 3 à 4 mais d'où vient le cinquième ??? Car il faudra commencer par comparer le nombre de mots et le nombre de case cochées avant de définir la dernière ligne. Ça donnerait un code de ce style :
Code:
Dim nt as byte 'déclare la variable nt (Nombre de Textes)
dim nc as byte 'déclare la variable nc (Nombre de Cases cochées)
For x = 3 to 6
If Me.Controls("TextBox" & x).Value<>"" Then nt = nt + 1
Next x
For x = 9 to 16
If Me.Controls("CheckBox" & x).Value = True Then nc = nc+1
Next x
With Worksheets(1)
derlign = IIf(nc > nt, .Range("F65536").End(xlUp).Row + 1, .Range("A65536").End(xlUp).Row + 1)
End With