Garnir un tableau via Userform [Résolu]

Signaler
Messages postés
15
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
25 mars 2020
-
JUANABIBI
Messages postés
15
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
25 mars 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
6623
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
3 avril 2020
102
Messages postés
15
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
25 mars 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 :)
cs_Le Pivert
Messages postés
6623
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
3 avril 2020
102
Messages postés
15
Date d'inscription
mardi 17 mars 2020
Statut
Membre
Dernière intervention
25 mars 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 !