[VBA] Qualificateur incorrecte
Résolu
Bonjour,
J'ai un tableau à double entrée TableauPaysDelaisCumul.
Dimension du tableau
TableauPaysDelaisCumul(i,.) = ListePaysCumul (Liste des pays)
TableauPaysDelaisCumul(.,j) = ListeDelaisCumul (Liste délais)
Tout fonctionne, mais à la ligne :
J'ai une erreur : "Qualificateur incorrecte", je n'ai aucune idée de ce que cela peut bien être et je n'ai pas l'aide microsoft pour cette erreur.
Une aide serait la bienvenue.
Cordialement JC
J'ai un tableau à double entrée TableauPaysDelaisCumul.
Dimension du tableau
TableauPaysDelaisCumul(i,.) = ListePaysCumul (Liste des pays)
TableauPaysDelaisCumul(.,j) = ListeDelaisCumul (Liste délais)
Tout fonctionne, mais à la ligne :
For i = 0 To UBound(ListeDelaisCumul)
Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i, 3).Value = ListeDelaisCumul(i)
Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i, 4).Value = TableauDelaisCumul(i) / (DerniereLigne - 1)
Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i, 4).NumberFormat = "0.00%"
Next i
J'ai une erreur : "Qualificateur incorrecte", je n'ai aucune idée de ce que cela peut bien être et je n'ai pas l'aide microsoft pour cette erreur.
Une aide serait la bienvenue.
Cordialement JC
3 réponses
-
ContributeurComme ça c'est pas possible de faire un debug.
Pour détecter l'erreur essaye...Sub TT() On Error GoTo ERREUR For i = 0 To UBound(ListePaysCumul) Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i * UBound(ListeDelaisCumul), 10).Value = ListePaysCumul(i) 'Ecriture des pays For j = 0 To UBound(ListeDelaisCumul) Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i + i * (UBound(ListeDelaisCumul)) + j, 11).Value = ListeDelaisCumul(j) Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i + i * (UBound(ListeDelaisCumul)) + j, 12).Value = TableauPaysDelaisCumul(i, j).DelaisCumul / (NbContratPaysCumul(i)) Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i + i * (UBound(ListeDelaisCumul)) + j, 12).NumberFormat = "0.00%" Next j Next i Exit Sub ERREUR: Debug.Print (3 + i + i * (UBound(ListeDelaisCumul)) + j) Stop End Sub
Probable qu'il te manque des parenthèses ?
essaye avec
(3 + i +( i * (UBound(ListeDelaisCumul)) )+ j)
Quand tu est sur stop tu peu vérifier toutes les données, soit en promenant la souris sur une variable (une bulle s'affiche avec sont contenu) mais ça va pas à tout les coups, alors tu peu voir la valeur dans la fenêtre Exécution en tapant..
Print la variable dont tu veux connaître le contenu.
Si ça va pas et que ton classeur ne contient pas de données confidentielles tu peu le poster sur Cjoint.com ou CiJoint.fr
EDIT : je pense que j'ai trouver..
TableauPaysDelaisCumul(i, j).DelaisCumul / (NbContratPaysCumul(i))
Peut-être un + ou un moins à la place du point ???? OU
Apparement ton tableau TableauPaysDelaisCumul() est un tableau de type et je ne pense pas qu'il est possible de mettre un tableau de type avec plusieurs arguments.
Montre la déclaration du Type et du tableau, j'ai encore une autre idée.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)