Garnir un tableau via Userform [Résolu]

Signaler
Messages postés
40
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
10 avril 2020
-
Messages postés
40
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
10 avril 2020
-
Bonjour,

Je souhaiterai pouvoir ajouter des lignes dans un tableau, depuis une form.
J'ai créé la form avec une textbox et un bouton de validation.

Cependant, je n'arrive pas à aller sélectionner tout cela.
Je voudrais ensuite virer les cellules vides, puis rafraichir ma combobox qui a un lien vers ce tableau.

Voici le code actuel (aidé par l'enregistreur de macros) :

Private Sub BT_AJOUT_CAT_Click()

Sheets("Listes").Select
Range("B6").Select
Selection.ListObject.ListRows.Add (4)

Application.ScreenUpdating = False
Application.DisplayAlerts = False

If TB_AJOUT_CAT.Value <> "" Then

   ActiveCell.FormulaR1C1 = TB_AJOUT_CAT.Value
  
Else

   MsgBox "Rien à ajouter !"
   
End If

Application.Goto Reference:="Liste_designation"
Selection.ListObject.ListRows(4).Delete
Sheets("Global").Select

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub



Merci beaucoup !

3 réponses

Messages postés
6754
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 mai 2020
107
Messages postés
40
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
10 avril 2020

Bonjour Cs_Le Pivert,

Je viens de regarder le tuto, mais je ne pense pas avoir ma réponse.
En fait, j'ai un tableau de créé dans "Listes" qui s'appelle "Liste_designation".
Il ressemble à ça :


J'ai une entrée client, comme ceci :


Lorsque je clique sur Ajouter, je souhaiterai que le contenu de la Textbox va se diriger à la fin du tableau.

Voici le code actuel :

Private Sub BT_AJOUT_CAT_Click()

Dim Texte_boite As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False

If TB_AJOUT_CAT.Text <> "" Then

   Sheets("Listes").Select
   Range("B3").Select
   Selection.ListObject.ListRows.Add AlwaysInsert:=True
   ActiveCell.FormulaR1C1 = TB_AJOUT_CAT.Text
   Sheets("Global").Select
   LBL_info_cat.Caption = TB_AJOUT_CAT.Value & " enregistré !"
   TB_AJOUT_CAT.Value = ""
   
Else

   MsgBox "Rien à ajouter !"

End If

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub



Merci beaucoup :)
Messages postés
6754
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 mai 2020
107
Messages postés
40
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
10 avril 2020

Bonjour,

Voici la solution :

Application.ScreenUpdating = False
Application.DisplayAlerts = False

If TB_AJOUT_CAT.Text <> "" Then
With Sheets("Listes").ListObjects("Liste_designation")
   .ListRows.Add AlwaysInsert:=True
  'Si ton tableau commence en ligne 3 et a des en-têtes
   Sheets("Listes").Cells(.ListRows + 3, 2).Value = TB_AJOUT_CAT.Text
End With
   Sheets("Global").Select
   LBL_info_cat.Caption = TB_AJOUT_CAT.Value & " enregistré !"
   TB_AJOUT_CAT.Value = ""
   
Else

   MsgBox "Rien à ajouter !"

End If

Application.ScreenUpdating = True
Application.DisplayAlerts = True


Merci beaucoup !