XL 2010 Modifier ou Ajouter ligne ListOject

  • Initiateur de la discussion Initiateur de la discussion cathodique
  • 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 !

cathodique

XLDnaute Barbatruc
Bonjour,

Je voudrai ajouter ou modifier des lignes d'un tableau structuré via un formulaire.
J'utilise ce bout de code qui plante sur la ligne indiquée dans le code
VB:
With Range("TbCoordonnee")
      With .ListObject
         If BtValider.Caption = "MODIFIER" And TxtNoLig <> "" Then
            Set Lig = TxtNoLig 'plante ici'
         Else
            Set Lig = .ListRows.Add
         End If
         ''
         .ListColumns("Id_Person").DataBodyRange(Lig.index) = Txt_IdPerson
         'etc...
      End With
   End With

Je n'arrive pas à trouver la bonne syntaxe pour utiliser la même variable pour cibler la bonne ligne.

En vous remerciant.
 
Solution
Bonjour,

Messieurs, je vous remercie.
En lisant vos réponses, surtout celle de @mapomme , j'ai la certitude que j'ai très mal exposé mon problème.
Bien souvent, c'est ce genre de réponse qui me fait regretter de m'être précipité d'ouvrir une discussion.

@Phil69970 , je n'ai pas encore ouvert ton fichier. Je le consulterai après avoir fini de vous répondre. Je suis ouvert à toute proposition. Merci.

@Dranreb : Je te l'avais promis de faire un effort pour essayer de comprendre et utiliser tes modules de services. Je n'ai pas encore un bon niveau d'où l'indigence plussoyée des éléments fournis à mon premier post.
Mon cher @Dranreb , je te réitère ma promesse de me mettre à tes modules de service.

Voici ma...
Bonjour @cathodique 😉,

Quelle indigence quant aux éléments fournis !!! 😱
  • Aucune mention de l’erreur (ni l'intitulé ni le numéro) qui se produit
  • Quelles sont les types de variables TxtNoLig et Lig ?
  • Que représente la variable Lig et la variable TxtNoLig ?
  • Que contient la variable TxtNoLig ?
  • Si vous utilisez Set alors Lig et TxtNoLig doivent être des objets
 
Dernière édition:
Bonjour.
Mais bon sang utilisez donc mon objet CommboBoxLiées: il aplanit toutes les problèmes et apporte des mises au point hyper-rapides. Lorsqu'une ligne existe il communique son numéro de ListRow à l'UserForm via l'évènement BingoUn. Son évènement Change se produit d'abord et indique combien de lignes correspondent. Vous pouvez y mettre à 0 une variable que j'appelle généralement LCou.
C'est le même bouton qui sert à modifier ou ajouter une ligne selon que LCou > 0 ou non.
La collection ListRows est reprise par l'objet en tant que propriété Lignes.
Donc ça donne toujours à peu près les même code :
Code:
CAs.ValeursVers TVL
If LCou = 0 then
   CLs.ValeursVers TVL
   CLs.Lignes.Add.Range.Value = TVL
   CLs.Actualiser
Else
   CLS.Lignes(LCou).Range.Value = TVL
   End If
 
Bonjour,

Messieurs, je vous remercie.
En lisant vos réponses, surtout celle de @mapomme , j'ai la certitude que j'ai très mal exposé mon problème.
Bien souvent, c'est ce genre de réponse qui me fait regretter de m'être précipité d'ouvrir une discussion.

@Phil69970 , je n'ai pas encore ouvert ton fichier. Je le consulterai après avoir fini de vous répondre. Je suis ouvert à toute proposition. Merci.

@Dranreb : Je te l'avais promis de faire un effort pour essayer de comprendre et utiliser tes modules de services. Je n'ai pas encore un bon niveau d'où l'indigence plussoyée des éléments fournis à mon premier post.
Mon cher @Dranreb , je te réitère ma promesse de me mettre à tes modules de service.

Voici ma solution
VB:
Dim Lig as Listrows

With Range("TbCoordonnee")
      With .ListObject
         If BtValider.Caption = "MODIFIER" And TxtNoLig <> "" Then
            Set Lig = .ListRows(Val(TxtNoLig)) 'ne plante plus'
         Else
            Set Lig = .ListRows.Add
         End If
         ''
         .ListColumns("Id_Person").DataBodyRange(Lig.index) = Txt_IdPerson
         'etc...
      End With
   End With

Encore merci.

Bonne fin d'après-midi.
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
280
Réponses
2
Affichages
428
Retour