Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Remplir un tableau avec un userform.

Joseph Haroun

XLDnaute Junior
Bonjour/Bonsoir Forum !
J'ai une difficulté que je tiens à vous exposer sollicitant votre précieuse aide.
En effet je n'arrive pas à remplir les Tableaux excel à l'aide d'un userform. Il y a toujours une ligne vide entre la ligne d'en-tête et la ligne des premières données enregistrées. Comment peut-on corriger cela ? Merci d'avance pour votre aide.
Yussufa
 

Staple1600

XLDnaute Barbatruc
Re

Remplaces ton code existant dans l'userform par celui-ci
Code:
Private Sub CommandButton1_Click()
Dim oLo As Excel.ListObject, oNLig As ListRow
Set oLo = Sheets("Feuil1").ListObjects(1)
With oLo
    Set oNLig = .ListRows.Add(alwaysinsert:=True)
    oNLig.Range.Cells(1, 1).Resize(, 4) = Array(TextBox1, TextBox2, TextBox3, TextBox4)
End With
End Sub
 

Joseph Haroun

XLDnaute Junior
Merci beaucoup, Staple1600 !
Je vais essayer de les substituer l'un par l'autre et si je suis bloqué, je reviendrai à vous encore. Merci pour pour la rapidité avec laquelle cette solution me parvient.
Yusufu
 

Staple1600

XLDnaute Barbatruc
Re

Unload fait cela très bien la vidange

Yusufu
Cette macro fait mieux le job
VB:
Private Sub CommandButton1_Click()
Dim oLo As Excel.ListObject, oNLig As ListRow
Set oLo = Sheets("Feuil1").ListObjects(1)
With oLo
    If IsEmpty(.Range.Cells(2, 1)) Then
    .Range.Cells(2, 1).Resize(, 4) = Array(TextBox1, TextBox2, TextBox3, TextBox4)
    Else
    Set oNLig = .ListRows.Add(alwaysinsert:=True)
    oNLig.Range.Cells(1, 1).Resize(, 4) = Array(TextBox1, TextBox2, TextBox3, TextBox4)
    End If
End With
End Sub
 
Dernière édition:

Discussions similaires

  • Résolu(e)
Microsoft 365 Taille UserForm
Réponses
3
Affichages
403
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…