Insérer plusieurs lignes (Userform)

Bonjour à tous ...

J'ai bien cherché mais pour le moment pas trouvé !

J'ai créé un tableau et un formulaire Userform pour le moment très basique.

Je voudrais pouvoir ajouter des lignes à mon tableau en remplissant le formulaire (ça c'est bon) enfin presque car je voudrais bien conserver la mise en forme de mon tableau et surtout renseigner le nombre de lignes à ajouter/copier (c'est là que je sèche).

Ce que je cherche à faire, c'est renseigné mon formulaire en lui indiquant à la fin le nombre de lignes que je souhaite insérer dans mon tableau

Je continue à chercher mais si une bonne âme peut m'aider, je suis preneur ....

90stock.xlsm (22.12 Ko)

Bonjour,

Tu veux enregistrer la même ligne plusieurs fois ? ça n'a pas de sens.

Raja a écrit :

Bonjour,

Tu veux enregistrer la même ligne plusieurs fois ? ça n'a pas de sens.

Oui, c'est bien ça que je souhaite réaliser !

Je renseigne mes 4 champs et j'indique le nombre de fois que je veux copier la ligne.

Pour moi, ça un sens

Re,

Pourquoi pas. Essaye ça :

Private Sub CommandButton1_Click()
    Dim derlign As Integer
    If MsgBox("Confirmer l'ajout des données", vbYesNo, "Confirmation") = vbYes Then
        derlign = Sheets("Base").Range("A" & Rows.Count).End(xlUp).Row + 1
        Range(Cells(derlign, 1), Cells(derlign + txtNbLignes * 1 - 1, 1)) = TextBox1
        Range(Cells(derlign, 2), Cells(derlign + txtNbLignes * 1 - 1, 2)) = TextBox2
        Range(Cells(derlign, 3), Cells(derlign + txtNbLignes * 1 - 1, 3)) = TextBox3 * 1
        Range(Cells(derlign, 4), Cells(derlign + txtNbLignes * 1 - 1, 4)) = CDate(TextBox4)
    End If
End Sub

Merci beaucoup Raja pour ta rapidité ...

C'est exactement ce que je souhaite faire !

Je viens de tester.

Si je ne remplis pas un champ, j'ai une erreur.

Est-il possible que le résultat s'affiche même si je ne remplis pas (volontairement) un champ ?

Bonjour

avec Nombre de ligne

Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep
End Sub

Private Sub CommandButton1_Click()
Dim Derlign As Long
Dim L As Long
Derlign = Sheets("Base").Range("A" & Rows.Count).End(xlUp).Row
    If MsgBox("Confirmer l'ajout des données", vbYesNo, "Confirmation") = vbYes Then
      For L = 1 To Val(TextBox5.Value)
         Cells(Derlign + L, 1) = TextBox1.Value
         Cells(Derlign + L, 2) = TextBox2.Value
         Cells(Derlign + L, 3) = TextBox3.Value
         Cells(Derlign + L, 4) = TextBox4.Value
      Next
    End If
End Sub

A+

Maurice

Bonjour

retour de ton userform

A+

Maurice

217stock.xlsm (22.42 Ko)

Merci Archer ....

J'aimerais juste pouvoir conserver la mise en forme de la date (comme me l'avait fait Raja) dans la textbox4

-> Range(Cells(derlign, 4), Cells(derlign + txtNbLignes * 1 - 1, 4)) = CDate(TextBox4)

En tout cas merci de votre aide !

Rechercher des sujets similaires à "inserer lignes userform"