Garnir un tableau via Userform

Résolu
JUANABIBI Messages postés 40 Date d'inscription mardi 17 mars 2020 Statut Membre Dernière intervention 10 avril 2020 - 24 mars 2020 à 11:32
JUANABIBI Messages postés 40 Date d'inscription mardi 17 mars 2020 Statut Membre Dernière intervention 10 avril 2020 - 25 mars 2020 à 09:16
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

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 mars 2020 à 11:50
1
JUANABIBI Messages postés 40 Date d'inscription mardi 17 mars 2020 Statut Membre Dernière intervention 10 avril 2020
24 mars 2020 à 14:29
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 :)
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 mars 2020 à 14:52
0
JUANABIBI Messages postés 40 Date d'inscription mardi 17 mars 2020 Statut Membre Dernière intervention 10 avril 2020
25 mars 2020 à 09:16
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 !
0
Rejoignez-nous