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
 

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 ?
 

Discussions similaires

Réponses
16
Affichages
1 K
Réponses
7
Affichages
419
Réponses
24
Affichages
1 K