Remplir un tableau Excel avec un UserForm
Woody
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour à tous,
Je suis un petit nouveau dans le monde du codage et j'aimerai faire appel à vous pour mon premier UserForm dans Excel 2010.
Le but est de remplir plus facilement un tableau Excel répertoriant des clients et leurs données.
Quand je clique sur "OK" dans mon UserForm j'aimerai qu'il ajoute les informations sur la première ligne (la 7), que toutes les informations déjà dans le tableau descendent d'une ligne et que les informations saisies dans le UserForm soit effacées.
Voici pour l'instant le code que j'ai écrit, mais ça ne fonctionne pas...
Private Sub CommandButton1_Click()
With Supplier
Dim derlign As Integer
derlign = .Range("A1048576").End(xlUp).Offset(1, 0)
.Cells(derlign, 1).Value = TextBox1
.Cells(derlign, 2).Value = ComboBox1
.Cells(derlign, 3).Value = ComboBox2
.Cells(derlign, 4).Value = ComboBox3
.Cells(derlign, 5).Value = ComboBox4
.Cells(derlign, 6).Value = TextBox2
.Cells(derlign, 7).Value = ComboBox5
.Cells(derlign, 8).Value = TextBox3
.Cells(derlign, 9).Value = TextBox4
.Cells(derlign, 10).Value = TextBox5
.Cells(derlign, 11).Value = TextBox9
.Cells(derlign, 12).Value = TextBox10
.Cells(derlign, 15).Value = TextBox6
.Cells(derlign, 16).Value = TextBox7
.Cells(derlign, 17).Value = TextBox8
.Cells(derlign, 18).Value = TextBox11
.Cells(derlign, 19).Value = TextBox12
TextBox1.Value = ""
ComboBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""
ComboBox4.Value = ""
TextBox2.Value = ""
ComboBox5.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox9.Value = ""
TextBox10.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
TextBox11.Value = ""
TextBox12.Value = ""
End With
End Sub
Merci pour votre aide à tous !
Je suis un petit nouveau dans le monde du codage et j'aimerai faire appel à vous pour mon premier UserForm dans Excel 2010.
Le but est de remplir plus facilement un tableau Excel répertoriant des clients et leurs données.
Quand je clique sur "OK" dans mon UserForm j'aimerai qu'il ajoute les informations sur la première ligne (la 7), que toutes les informations déjà dans le tableau descendent d'une ligne et que les informations saisies dans le UserForm soit effacées.
Voici pour l'instant le code que j'ai écrit, mais ça ne fonctionne pas...
Private Sub CommandButton1_Click()
With Supplier
Dim derlign As Integer
derlign = .Range("A1048576").End(xlUp).Offset(1, 0)
.Cells(derlign, 1).Value = TextBox1
.Cells(derlign, 2).Value = ComboBox1
.Cells(derlign, 3).Value = ComboBox2
.Cells(derlign, 4).Value = ComboBox3
.Cells(derlign, 5).Value = ComboBox4
.Cells(derlign, 6).Value = TextBox2
.Cells(derlign, 7).Value = ComboBox5
.Cells(derlign, 8).Value = TextBox3
.Cells(derlign, 9).Value = TextBox4
.Cells(derlign, 10).Value = TextBox5
.Cells(derlign, 11).Value = TextBox9
.Cells(derlign, 12).Value = TextBox10
.Cells(derlign, 15).Value = TextBox6
.Cells(derlign, 16).Value = TextBox7
.Cells(derlign, 17).Value = TextBox8
.Cells(derlign, 18).Value = TextBox11
.Cells(derlign, 19).Value = TextBox12
TextBox1.Value = ""
ComboBox1.Value = ""
ComboBox2.Value = ""
ComboBox3.Value = ""
ComboBox4.Value = ""
TextBox2.Value = ""
ComboBox5.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox9.Value = ""
TextBox10.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
TextBox11.Value = ""
TextBox12.Value = ""
End With
End Sub
Merci pour votre aide à tous !
A voir également:
- Tableau à remplir en ligne
- Tableau word - Guide
- Partager photos en ligne - Guide
- Tableau ascii - Guide
- Mètre en ligne - Guide
- Trier un tableau excel - Guide
4 réponses
Bonjour,
Il existe un enregistreur de macro. Il suffit de lancer l'enregistreur, de faire les manipulations nécessaires pour obtenir ce que l'on cherche à faire (ici, insérer une ligne vide au rang 7), d'arrêter l'enregistrement de la macro et d'aller dans l'éditeur VB pour voir le code ici généré.
Il existe un enregistreur de macro. Il suffit de lancer l'enregistreur, de faire les manipulations nécessaires pour obtenir ce que l'on cherche à faire (ici, insérer une ligne vide au rang 7), d'arrêter l'enregistrement de la macro et d'aller dans l'éditeur VB pour voir le code ici généré.
Bonjour Polux 31,
Merci pour ton aide, l'enregistreur est en effet très utile.
J'ai suivi tes conseils malheureusement, quand je clique sur OK ça ne marche toujours pas.
Voici le code que j'ai écrit :
Private Sub CommandButton1_Click()
With Supplier
.Cells(7, 1).Value = TextBox1
.Cells(7, 2).Value = ComboBox1
.Cells(7, 3).Value = ComboBox2
.Cells(7, 4).Value = ComboBox3
.Cells(7, 5).Value = ComboBox4
.Cells(7, 6).Value = TextBox2
.Cells(7, 7).Value = ComboBox5
.Cells(7, 8).Value = TextBox3
.Cells(7, 9).Value = TextBox4
.Cells(7, 10).Value = TextBox5
.Cells(7, 11).Value = TextBox9
.Cells(7, 12).Value = TextBox10
.Cells(7, 15).Value = TextBox6
.Cells(7, 16).Value = TextBox7
.Cells(7, 17).Value = TextBox8
.Cells(7, 18).Value = TextBox11
.Cells(7, 19).Value = TextBox12
Rows("7:7").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
End Sub
En tout cas merci pour ta réponse rapide !
Merci pour ton aide, l'enregistreur est en effet très utile.
J'ai suivi tes conseils malheureusement, quand je clique sur OK ça ne marche toujours pas.
Voici le code que j'ai écrit :
Private Sub CommandButton1_Click()
With Supplier
.Cells(7, 1).Value = TextBox1
.Cells(7, 2).Value = ComboBox1
.Cells(7, 3).Value = ComboBox2
.Cells(7, 4).Value = ComboBox3
.Cells(7, 5).Value = ComboBox4
.Cells(7, 6).Value = TextBox2
.Cells(7, 7).Value = ComboBox5
.Cells(7, 8).Value = TextBox3
.Cells(7, 9).Value = TextBox4
.Cells(7, 10).Value = TextBox5
.Cells(7, 11).Value = TextBox9
.Cells(7, 12).Value = TextBox10
.Cells(7, 15).Value = TextBox6
.Cells(7, 16).Value = TextBox7
.Cells(7, 17).Value = TextBox8
.Cells(7, 18).Value = TextBox11
.Cells(7, 19).Value = TextBox12
Rows("7:7").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
End Sub
En tout cas merci pour ta réponse rapide !
Salut,
Tu insères une ligne après avoir reporté les infos du formulaire ?
Ensuite il manque un point devant Rows("7:7")
Tu insères une ligne après avoir reporté les infos du formulaire ?
Ensuite il manque un point devant Rows("7:7")
Salut,
En fait après avoir écrit mes données dans le tableau sur la ligne 7, je souhaite pouvoir continuer a ajouter d'autres données sur la ligne 7. Comme ça j'ai toujours la dernière saisie sur la ligne 7 du tableau.
Quand je clique sur OK, un message d'erreur 424 s'affiche et la première ligne de code de remplissage est surlignée en jaune.
.Cells(7, 1).Value = TextBox1
En fait après avoir écrit mes données dans le tableau sur la ligne 7, je souhaite pouvoir continuer a ajouter d'autres données sur la ligne 7. Comme ça j'ai toujours la dernière saisie sur la ligne 7 du tableau.
Quand je clique sur OK, un message d'erreur 424 s'affiche et la première ligne de code de remplissage est surlignée en jaune.
.Cells(7, 1).Value = TextBox1