Bonsoir
Pour éviter un 0 lors d'un textbox vide le plus simple est de tester si ce textbox contient quelque chose
la macro pourrait ressembler à ça
Private Sub CommandButton1_Click() 'Bouton "Valider"
Dim I As Integer, Groupe As Integer, Place As Integer, Colonne As Integer
Dim Ligne As Long
With Sheets("Feuil1")
For I = 0 To 50
If Me.Controls("TextBox" & I + 1) <> "" Then
' Le groupe
Groupe = I \ 9 ' On obtient 0 à 4
' la place dans le groupe
Place = I - Groupe * 9 ' On obtient 0 à 8
' Ligne depart du groupe
Ligne = 6 + (Groupe * 9)
' Offset pour la place
Ligne = Ligne + Place \ 3 ' Place \ 3 ==> 0 à 2
' La colonne
Colonne = 2 + Place Mod 3 ' Place Mod 3 ==> 0 à 2
.Cells(Ligne, Colonne) = Val(Me.Controls("TextBox" & I + 1))
End If
Next I
End With
End Sub
simo_c18 a écrit :
et aussi de me remettre un nouveau questionnaire quand je le
ferme pour ne pas avoir à devoir supprimer les chiffres un par un ça serait
plus simple
Je n'ai pas trop compris cette question
Si tu ne veux pas avoir les chiffres que je place (pour tester) enlèves cette ligne dans la macro "UserForm_Initialize"
Ctrl = Val(Mid(Ctrl.Name, 8)) ' Juste pour initialiser les TextBox
Si tu veux effacer les textbox une fois sur la feuille tu peux soit faire une boucle de 1 à 51 ou alors les effacer juste après leur écriture dans la feuille
Colonne = 2 + Place Mod 3 ' Place Mod 3 ==> 0 à 2
.Cells(Ligne, Colonne) = Val(Me.Controls("TextBox" & I + 1))
[surligner=#BFFFFF]Me.Controls("TextBox" & I + 1) = ""
End If
Next I
End With
End Sub