Bug à cause de Textbox vide

Bonjour,

j'avais déjà demandé de l'aide sur le code sur lequel je suis en train de travailler (Cf. Incrément de date) et je requière une nouvelle fois votre aide.

J'ai créer un UserForm avec des TextBox à remplir. Lorsque celles-ci sont toutes pleines, le code fonctionne bien mais dès qu'une Textbox est vide, celui-ci ne fonctionne plus sachant que par la suite toutes les Textbox ne seront pas remplies obligatoirement. Pouvez-vous m'aider ?

Private Sub CommandButton1_Click() 'bouton "Valider"

i = 4 'Initialise la variable i

With Worksheets("Feuil1") 'Avec la Feuil1
    Do While .Cells(i, 1) <> "" 'tant que la cellule visée n'est pas vide
        i = i + 1 'incrément de i
    Loop
        .Cells(i, 1) = CDate(TextBox1.Value) 'si la cellule est vide elle prend la valeur de la textbox1

        ActiveCell.Offset(0, 1) = CDec(TextBox2.Value) 'Début remplissage des champs
         ActiveCell.Offset(0, 2) = CDec(TextBox3.Value)
        ActiveCell.Offset(0, 3) = CDec(TextBox4.Value)
        ActiveCell.Offset(0, 4) = CDec(TextBox9.Value)
        ActiveCell.Offset(0, 5) = CDec(TextBox10.Value)
        ActiveCell.Offset(0, 6) = CDec(TextBox5.Value)
        ActiveCell.Offset(0, 7) = CDec(TextBox6.Value)
        ActiveCell.Offset(0, 8) = CDec(TextBox7.Value)
        ActiveCell.Offset(0, 9) = CDec(TextBox8.Value) 'Fin remplissage des champs

End With

End Sub

Merci de votre réponse et bonne journée !

bonjour

sans model de ton fichier dur

si les textbox sont dans l'ordre des colonne

Private Sub Creation()
Dim Nlig As Long
With Worksheets("Feuil1")
Nlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
   For C = 1 To 10
      Select Case C
         Case 1
             If IsDate(Controls("TextBox" & C).Value) Then
                  .Cells(Nlig, C).Value = CDate(Controls("TextBox" & C).Value)
             End If
         Case Else
            If IsNumeric(Controls("TextBox" & C).Value) Then
                  .Cells(Lig, C).Value = CDec(Controls("TextBox" & C).Value)
            End If
      End Select
   Next
End With
End Sub

A+

Maurice

Merci pour ta réponse mais est-ce que tu peux me détailler la ligne de code que j'ai mis en dessous et aussi me dire ce que signifie les "Controls"

Et oui les TextBox suivent bien l'ordre des colonnes.

Nlig = .Range("A" & Rows.Count).End(xlUp).Row + 1

EDIT : J'ai essayé ton code et il ne fonctionne pas ou du moins il doit y avoir une erreur par rapport au tableau qu'il doit remplir. Je joins un fichier exemple !

15exemple.xlsm (23.56 Ko)
Rechercher des sujets similaires à "bug cause textbox vide"