[VBA] Trouver une cellule vide et la remplir

Fermé
Lila - Modifié par Lila le 11/12/2011 à 23:27
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 12 déc. 2011 à 09:17
Bonjour,

J'aimerais que mon tableau sur Excel se remplisse à partir d'un Userform, mais je ne sais pas comment faire :

Dans un Userform, j'ai des textbox qui correspondent aux coordonnées (textbox1 = "Nom", textbox2 = "Prénom", etc) et un Commandbutton ("Valider").
Sur une feuille Excel, j'ai un tableau avec des colonnes correspondant aux Coordonnées (A1 = "Nom", "A2" = "Prénom", etc).

Pour l'instant, il ne remplit que la première ligne, or ce que je veux c'est qu'il cherche une cellule vide dans une colonne et remplisse mon tableau lorsque les textbox sont remplis .

Sub Valider_Cliquer()
Sheets("Feuille1").Range("A2").Select
Range("B2").Value = TextBox1.Value 'Nom
Range("C2").Value = TextBox2.Value 'Prénom
Range("D2").Value = TextBox3.Value 'Adresse
Range("E2").Value = TextBox4.Value 'Ville
Range("F2").Value = TextBox5.Value 'Numéro de téléphone
Range("G2").Value = TextBox6.Value 'Numéro de portable
End Sub

Merci beaucoup pour votre aide !

2 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
12 déc. 2011 à 00:44
Bonsoir,

1/ Tu peux donner des noms explicites à tes TextBox (ex : renommer TextBox1 en "Nom", etc.)
2/ Pour ton problème :
a) si j'ai bien compris, il faudrait que tu passes par un paramètre te donnant la ligne à remplir et donc appeler les cellules par Cells(i,2).Value=Nom.Value (et non plus la propriété Range
b) si j'ai bien compris : autant remplir les cellules du tableau plutôt qu'un UserForm ?!!

A+
0
Merci beaucoup pour ta réponse ! Je suis obligée d'utiliser un Userform et VBA car c'est un travail à rendre.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
12 déc. 2011 à 09:17
bonjour

essaies cette macro (n'oublie pas les points devant range et columns!)

Sub Valider_Cliquer()
Dim Ligvide As Integer
With Sheets("Feuille1")
     Ligvide = .Columns("A").Find("*", , , , , xlPrevious).Row + 1
     .Range("B" & Ligvide) = TextBox1.Value 'Nom
     .Range("C" & Ligvide) = TextBox2.Value 'Prénom
     'etc
End With
End Sub
0