[VBA] Qualificateur incorrecte [Résolu/Fermé]

Signaler
-
 JC -
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 :
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

Messages postés
17380
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 091
Bonjour,
Sur quel ligne exactement se produit l'erreur et quel est le N° de l'erreur.
A+
Mince je viens de voir que je me suis trompé dans le copier-coller (quel idiot je suis )
Je recommence
'Ecriture de pourcentage
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

L'erreur est : Erreur de compilation : Qualificateur incorrect
à la ligne
Workbooks(monfichier).Sheets("PARTIE 5").Cells(3 + i + i * (UBound(ListeDelaisCumul)) + j, 12).Value = TableauPaysDelaisCumul(i, j).DelaisCumul / (NbContratPaysCumul(i))

Messages postés
17380
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 091
Comme ç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)
Qu'est ce que je suis idiot, merci la solution était hyper simple, en fait j'avais modifié ce tableau, et en effet, j'avais modifié son type aussi, il n'y a plus de ".DelaisCumul".
A croire que le 31 ne me réussit pas.

Sur ce, merci et bonne année !

Cordialement JC