XL 2016 Formulaire de saisie avec contrôles en VBA

dremi

XLDnaute Nouveau
Salut le forum!

juste pour demander une aide sur un travail de création de userforme en VBA. Il s'agit d'un userforme (frmCommandeMul) pour saisir et enregistrer à la fois plusieurs commande pour la gestion commerciale. Les lignes de commande saisi doivent être enregistrer dans un ListeBox (lstItem) avant d'être ajouter dans la base par suite. Suite à la programmation pour enregistrer les commandes saisies dans la ListeBox, le formulaire me présente une erreur de la propriété List. (valeur de propriété non valide)
Veuillez trouvez ci-joint le fichier sujet dudit travail et une image de l'erreur d'exécution
l'erreur d'excecution.jpg
 

Pièces jointes

  • Tableau-de-bord_gestion-commerciale.xlsm
    344.8 KB · Affichages: 13

ChTi160

XLDnaute Barbatruc
Bonjour dremi
Bienvenue sur Xld
Je pense que ton problème vient du fait que tu alimentes ta ListBox via la méthode "AddItem" ce qui te limite à 10 Colonnes (soit de 0 à 9)
il faut que tu passes par un tableau temporaire ou autre méthode!
Tu as sur le forum des exemples
Bonne journée
Jean marie
 

JM27

XLDnaute Barbatruc
bonjour
dans une listbox commence à zéro et comporte 10 colonnes maxi ( dans la majorité des cas) si option base 0

VB:
' Ajout des lignes de commande dans la listbox
Private Sub btnAjouterNouv_Click()
'Déclaration des variales
Dim nbControles As Integer
Dim nbItem As Integer
'affectation des variables
nbControles = 11


Me.lstItem.AddItem txtNumero
nbItem = Me.lstItem.ListCount - 1       ' on compte le nombre d'item dans la liste box

' on charge les controles dans la listebox
Me.lstItem.List(nbItem, 0) = Me.cboCommercial
Me.lstItem.List(nbItem, 1) = Me.cboVille
Me.lstItem.List(nbItem, 2) = Me.cboRegion
Me.lstItem.List(nbItem, 3) = Me.txtClient
Me.lstItem.List(nbItem, 4) = Me.txtDate
Me.lstItem.List(nbItem, 5) = Me.cboArticle
Me.lstItem.List(nbItem, 6) = Me.txtQuantite
Me.lstItem.List(nbItem, 7) = Me.txtPrix
Me.lstItem.List(nbItem, 8) = Me.txtCa
Me.lstItem.List(nbItem, 9) = Me.txtBenefice


End Sub

Edit : salut Chti
 

ChTi160

XLDnaute Barbatruc
Bonjour JM
y'a pas un problème
Additem , correspond à l'index de colonne 0 non ?
Donc y'a deux fois le même Index de Colonne
Pour moi,
VB:
Me.lstItem.List(nbItem, 0) = Me.cboCommercial
écrase le AddItem txtNumero
Je n'ai pas vérifié.
Bonne journée
jean marie
 

dremi

XLDnaute Nouveau
Bonjour JM
y'a pas un problème
Additem , correspond à l'index de colonne 0 non ?
Donc y'a deux fois le même Index de Colonne
Pour moi,
VB:
Me.lstItem.List(nbItem, 0) = Me.cboCommercial
écrase le AddItem txtNumero
Je n'ai pas vérifié.
Bonne journée
jean marie
désolé! ceci est oui oui est vraie
Me.lstItem.List(nbItem, 0) = Me.cboCommercial
écrase le AddItem txtNumero vraiment. la méthode du tableau temporaire irait mieux
 

Discussions similaires