XL 2016 probleme VBA

velpa

XLDnaute Nouveau
Bonjour,
Je suis artisan et je viens de trouver un fichier excel tres pratique et "gratuit" que j'essai d'adapter a mon activité.
malheureusement il semblerait qu'il y ai un "bug" dans la programmation et je n'ai pas les compétences suffisante pour trouver la solution.
Si qq'un peu m'aider j'en serais reconnaissant.
Voici le code erreur
code erreur.png
et voici le code incriminé :
Private Sub UserForm_Activate()
lign = 1: ligne.Value = 1
nbart = Feuil11.Range("K1")
four = Replace(Feuil2.Cells(fact, 31), ",", ".")
If four = "" Then four = Feuil11.Cells(2, 1)
If tva.ListIndex = -1 Then tva = Feuil11.Cells(14, 2)
mo = Feuil2.Cells(fact, 30)
If mo = "" Then mo = Feuil11.Cells(1, 1)
List3.Clear
remplir
ajour
tar.ListIndex = Feuil2.Cells(fact, 26)
If nouvo = True Then tar.ListIndex = Feuil11.Cells(3, 1)
calcul
UserForm1.List3.ListIndex = 0: lign = 1
End Sub

Merci d'avance
 

patricktoulon

XLDnaute Accro
bonsoir
a vrai dire je pari a 10 contre un que l'erreur se produit ici
If tva.ListIndex = -1 Then tva = Feuil11.Cells(14, 2)
si tva est une listbox ou combobox tu peux pas coder tva = Feuil11.Cells(14, 2)
tva attend un tableau de valeur mais pas une valeur
 

velpa

XLDnaute Nouveau
merci pour ta réponse.
Le debogage met cette ligne en surbrillance :
tar.ListIndex = Feuil2.Cells(fact, 26)
car j'ai une liste déroulante nomé "tar" qui propose deux choix 1 ou 2 et lorsque je choisi 2 ca bug.
 

velpa

XLDnaute Nouveau
Bonsoir, sans fichier joint pour vérifier il faudra vous débrouiller tout seul.
Voici le fichier
une fois rentré dans le programme il faut acceder au document "devis" et ,si le "tarif 2" est sélectionné, lorsqu'on sort et accède a nouveau au document il y a un message d'erreur.
Voici les captures et le fichier.

acces doc.jpg
tarif 2.jpg
code erreur.png
Je tiens a préciser que je ne suis évidemment pas l'auteur de ce programme, vous vous en doutez, et que j'ai tenté de le joindre mais après une recherche j'ai appris que celui-ci était malheureusement décédé.

Merci pour votre aide.
 

Fichiers joints

Dernière édition:

patricktoulon

XLDnaute Accro
Bonjour
je n'ai pas cette erreur que se declenche chez moi
par contre la prochaine fois livre le mode d'emploi de ton App ;)
LOL!!!
 

velpa

XLDnaute Nouveau
Bonjour
je n'ai pas cette erreur que se declenche chez moi
par contre la prochaine fois livre le mode d'emploi de ton App ;)
LOL!!!
Alors là je ne comprends pas.
Je l’ai essayé sur plusieurs poste justement et à chaque fois la même erreur.
Il faut bien sélectionner le "tarif2" dans le menu déroulant et valider, ensuite lorsqu’on y retourne le message d’erreur s’affiche.
Ps : il n’y a pas de mode d’emploi justement c’est la qu’est l’os ! lol
 

Dranreb

XLDnaute Barbatruc
j'ai une liste déroulante nomé "tar" qui propose deux choix 1 ou 2 et lorsque je choisi 2 ca bug.
Si vous voulez dire par là qu'elle ne propose que ces deux choix, ça parait normal que vous ne puissiez pas affecter un ListIndex = 2 puisqu'il n'y en a que 2 possibles: le 0 correspondant au 1er et le 1 correspondant au second.
 
Bonjour Velpa, bonjour à tous,
Il faudrait que tu supprimes ton fichier en pièce jointe s’il te plaît et que tu le repostes sans données.
De même pour tes photos d’écran pour illustrer ton problème.
Les données que tu présentes sont des données réelles contentant des adresses d’entreprises, noms, prenoms et e-mails.
Cela est interdit sur le site.
Merci de le faire rapidement.
A défaut je le ferai moi meme
Merci pour ta compréhension
Bonne journée
 

velpa

XLDnaute Nouveau
Bonjour Velpa, bonjour à tous,
Il faudrait que tu supprimes ton fichier en pièce jointe s’il te plaît et que tu le repostes sans données.
De même pour tes photos d’écran pour illustrer ton problème.
Les données que tu présentes sont des données réelles contentant des adresses d’entreprises, noms, prenoms et e-mails.
Cela est interdit sur le site.
Merci de le faire rapidement.
A défaut je le ferai moi meme
Merci pour ta compréhension
Bonne journée
Voilà c’est fait, désolé.
Je reposterais sans données.
 

velpa

XLDnaute Nouveau
Si vous voulez dire par là qu'elle ne propose que ces deux choix, ça parait normal que vous ne puissiez pas affecter un ListIndex = 2 puisqu'il n'y en a que 2 possibles: le 0 correspondant au 1er et le 1 correspondant au second.
Dans ce cas là il y a un souci puisque je suis sensé pouvoir choisir entre deux Tarifs différents (1 ou 2)et que lorsque le tarif 2 est sélectionné le programme bug.
 

Dranreb

XLDnaute Barbatruc
Oui parce que le tarif 2 c'est celui qui est porté au ListIndex=1, pas 2, qui n'existe pas. Dites vous bien que le premier élément de toute propriété de contrôle constitué d'un tableau porte toujours le numéro 0 et non pas 1, c'est comme ça. C'est d'ailleurs pour ça que lorsqu'une ListBox ou ComboBox n'est positionnée sur aucun de ses éléments, son ListIndex vaut -1 et non pas 0. S'il est à 0 c'est sur le 1er élément.
 
Dernière édition:

velpa

XLDnaute Nouveau
Oui parce que le tarif 2 c'est celui qui est porté au ListIndex=1, pas 2, qui n'existe pas. Dites vous bien que le premier élément de toute propriété de contrôle constitué d'un tableau porte toujours le numéro 0 et non pas 1, c'est comme ça. C'est d'ailleurs pour ça que lorsqu'une ListBox ou ComboBox n'est positionnée sur aucun de ses éléments, son ListIndex vaut -1 et non pas 0. S'il est à 0 c'est sur le 1er élément.
OK, c'est donc le tableau en question qui est mal "référencé" si je comprend bien.
Mais alors comment trouver ce tableau et le modifier ?
Si vous avez téléchargé le programme vous verrez qu'il y a une page cachée nomée "INVI" est-ce la que ça se passe ?
Merci de votre contribution.
 

Dranreb

XLDnaute Barbatruc
À priori je dirais non, je dit simplement que la 1ère ligne sera mise au ListIndex 0 et la seconde au ListIndex 1, et ce même si on affecte à cette propriété List un tableau dimensionné 1 To 2 tel que la Value d'un Range.
 

velpa

XLDnaute Nouveau
Oui parce que le tarif 2 c'est celui qui est porté au ListIndex=1, pas 2, qui n'existe pas. Dites vous bien que le premier élément de toute propriété de contrôle constitué d'un tableau porte toujours le numéro 0 et non pas 1, c'est comme ça. C'est d'ailleurs pour ça que lorsqu'une ListBox ou ComboBox n'est positionnée sur aucun de ses éléments, son ListIndex vaut -1 et non pas 0. S'il est à 0 c'est sur le 1er élément.
Je comprends bien le principe mais comment "réparer" l’erreur ?
Faut-il modifier la ligne de code ou modifier le tableau de référence pour corriger l’erreur ?
 

Dranreb

XLDnaute Barbatruc
Modifier la ligne de code. S'il est saisi 1 ou 2 il faut y retrancher 1 comme indiqué dès mon poste #5.
 
Haut Bas