[VBA] Trouver une cellule vide et la remplir

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

  1. 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
    1. Merci beaucoup pour ta réponse ! Je suis obligée d'utiliser un Userform et VBA car c'est un travail à rendre.
      0
  2. Contributeur
    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