Symptôme de l'erreur - "La méthode 'add' de l'objet 'ListRows' à échoué"

  • Initiateur de la discussion Initiateur de la discussion taratata
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

taratata

XLDnaute Junior
Bonjour à tous,

j'ai identifier la cause du problème et ai trouver un contournement ne résolvant pas dans les règles de l'art (si je peux me permettre ce terme).

Voici le topo :

Sur une feuille "Stock", il y a 3 tableaux structurés "BaseNeutre" "Nicotine" "ARO"

Le formulaire "Select_Produits" permet de sélectionner le type de produits correspondant au tableau cible pour afficher
le formulaire "Add_Product" dont certains champs s'affiche selon le type de produit.
Le formulaire permet d'introduire plusieurs articles pour une commande, puis afin ajouter les frais de port via le bouton Fermer

Explication du phénomène de l'erreur "La méthode 'add' de l'objet 'ListRows' à échoué"
ligne mise ne cause --> Set list_row_sARO = list_obj_sARO.ListRows.Add dans Private Sub BT_Ajouter_Click()

1 - cas de figure :
--------------------
Ouverture fichier .xlsm
clic bouton noir "Ajouter un produit"
Sélection BaseNeutre
Remplissage formulaire "Add_Product"
Bouton Fermer - introduire frais

la ligne est ajoutée au tableau cible
fermer le fichier

2 - cas de figure :
--------------------
idem pour Nicotine (pas de soucis)
fermer le fichier

3 - cas de figure :
--------------------
idem pour BaseNeutre puis Nicotine (pas de soucis)
fermer le fichier

4 - cas de figure :
--------------------
Uniquement Arome alors erreur apparaît

5 - cas de figure :
--------------------
Ajout BaseNeutre ou Nicotine
puis Arome
alors pas d'erreur

Selon mes connaissance de débutant, j'en déduits que la routine pour Arome est ok!

dans Private Sub BT_Ajouter_Click(), j'ai ajouter, en tout premier le code ci-dessous pour ajouter une ligne vide dans le tableau structuré "BaseNeutre"
Cela fonctionne parfaitement.
Cela signifie aussi que je n'identifie pas clairement le soucis

VB:
....

If Nom_Tableau = "ARO" Then
                   ' Ajout une ligne vierge afin d'éliminer le plantage d'écriture sur le tableau ARO, s'il est sélectionnée en 1er.
                   ' Symptôme de l'erreur - "La méthode 'add' de l'objet 'ListRows' à échoué"
                   ' Si l'on ajoute une BaseNeutre ou une Nicotine puis Arome, alors pas de soucis
                   ' Si l'on ajoute diretement une Arôme alors messahe erreur
                   With Sheets("Stock").ListObjects("BaseNeutre")
                        'ajout d'une ligne vierge en fin du tableau
                       .ListRows.Add
                   End With

....

trouver le fichier joint, pour ceux qui aurai le temps pour m'aider à résoudre le problème


merci d'avance de votre temps
 

Pièces jointes

Solution trouvée :
--------------------
La cause :
-----------

la déclaration RowSource est déclarée directement sur ListBox_ARO dans le formulaire
RowSource NomTableauStructuré


Solution :
-----------

déclaration dans le code

VB:
' --------  Le contrôle ListBox ARO doit être configurer  -------
' ------------------------------------------------------------
' - RowSource --> champ vide
' - MultiSelect = fmMultiSelectSingle
' - ColumnCount   1
' - Columnwidths  18


    ' Déclaration du tableau structuté
    tablo_ListBox_ARO = [ARO]
    ' Lien RowSource
    ListBox_ARO.List = tablo_ListBox_ARO
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour