VBA: Erreur d'execution 13: incompatibilité de type

Ludoboss

XLDnaute Nouveau
Bonjour à toutes et tous!

Après m'être longuement inspiré de votre forum pour me sortir des nombreux pièges d'excel par le passé (avec succès jusqu'ici grâce à vos compétences et connaissances), je me lance en m'inscrivant (enfin...).
Et voici ma première colle:
Je voulais me lancer dans la conception d'un fichier excel pour mes statistiques de golf, ainsi que pour les joueurs du club dont je m'occupe, avec des userform et plein de trucs jolis, mais j'ai rapidement vu qu'avec le peu de compétences que j'ai en VBA, je ne m'en sortirais jamais.
J'ai trouvé un fichier déjà fait, malheureusement en Anglais mais très bien, cependant il m'annonce une erreur d'exécution 13: incompatibilité de type sur la formule suivante:

Sub DoDataArray()
Dim iNoHoles As Integer
Dim x As Integer

With ThisWorkbook.Sheets("Scorecard")
vScoreData(1) = .Range("PlayDate").Text
vScoreData(2) = .Range("Golfer").Text
vScoreData(3) = .Range("Course").Text
vScoreData(4) = .Range("TruePar").Value
iNoHoles = .Range("Holes").Value
If .Range("CourseRating").Value >= 40 Then _
vScoreData(5) = .Range("CourseRating").Value * iNoHoles / 18 Else _
vScoreData(5) = .Range("CourseRating").Value * iNoHoles / 9
vScoreData(6) = .Range("SlopeRating").Value
vScoreData(7) = .Range("Score").Value
vScoreData(8) = iNoHoles
vScoreData(9) = .Range("FwayChances").Value
vScoreData(10) = .Range("DriveDistance").Value
vScoreData(11) = .Range("Fairways").Value
vScoreData(12) = .Range("Greens").Value
vScoreData(13) = .Range("BirdieDistance").Value
vScoreData(14) = .Range("ParFives").Value
vScoreData(15) = .Range("FiveScores").Value
vScoreData(16) = .Range("ParFours").Value
vScoreData(17) = .Range("FourScores").Value
vScoreData(18) = .Range("ParThrees").Value
vScoreData(19) = .Range("ThreeScores").Value
vScoreData(20) = .Range("Hardest").Value
vScoreData(21) = .Range("Medium").Value
vScoreData(22) = .Range("Easiest").Value
vScoreData(23) = .Range("BirdChances").Value
vScoreData(24) = .Range("SubPars").Value - .Range("Eagles").Value
vScoreData(25) = .Range("Eagles").Value
vScoreData(26) = .Range("Bogies").Value
vScoreData(27) = .Range("Doubles").Value
vScoreData(28) = .Range("Triples").Value
vScoreData(29) = .Range("GrassAttempts").Value
vScoreData(30) = .Range("GrassSaves").Value
vScoreData(31) = .Range("SandAttempts").Value
vScoreData(32) = .Range("SandSaves").Value
vScoreData(33) = .Range("GrassDistance").Value
vScoreData(34) = .Range("SandDistance").Value
vScoreData(35) = .Range("Putts").Value
vScoreData(36) = .Range("PuttsPerGIR").Value
vScoreData(37) = .Range("PuttLength").Value
vScoreData(38) = .Range("PuttLengthMade").Value
vScoreData(39) = .Range("ThreePutts").Value
vScoreData(40) = .Range("OnePutts").Value
vScoreData(41) = .Range("PuttChances").Value
vScoreData(42) = .Range("PuttPerform").Value
vScoreData(43) = .Range("PRatings").Value
vScoreData(44) = .Range("PRatings").Offset(1, 0).Value
vScoreData(45) = .Range("PRatings").Offset(2, 0).Value
vScoreData(46) = .Range("PRatings").Offset(3, 0).Value
vScoreData(47) = .Range("BounceBackChances").Value
vScoreData(48) = .Range("BounceBackP").Value
vScoreData(49) = .Range("BounceBackB").Value
vScoreData(50) = .Range("Penalty").Value
vScoreData(51) = .Range("ScoreType").Formula
vScoreData(52) = .Range("Conditions").Value
vScoreData(53) = .Range("Conditions").Offset(1, 0).Value
vScoreData(54) = .Range("Conditions").Offset(2, 0).Value
vScoreData(55) = .Range("Conditions").Offset(3, 0).Value
vScoreData(56) = .Range("Comments").Formula
vScoreData(57) = .Range("StartData").Formula
vScoreData(58) = .Range("StartData").Offset(0, 1).Formula
vScoreData(59) = .Range("StartData").Offset(0, 2).Formula
vScoreData(60) = .Range("StartData").Offset(0, 3).Formula
vScoreData(61) = .Range("StartData").Offset(0, 4).Formula
vScoreData(62) = .Range("StartData").Offset(0, 5).Formula
vScoreData(63) = .Range("StartData").Offset(0, 6).Formula
vScoreData(64) = .Range("StartData").Offset(0, 7).Formula
vScoreData(65) = .Range("StartData").Offset(0, 8).Formula
vScoreData(66) = .Range("StartData").Offset(0, 10).Formula
vScoreData(67) = .Range("StartData").Offset(0, 11).Formula
vScoreData(68) = .Range("StartData").Offset(0, 12).Formula
vScoreData(69) = .Range("StartData").Offset(0, 13).Formula
vScoreData(70) = .Range("StartData").Offset(0, 14).Formula
vScoreData(71) = .Range("StartData").Offset(0, 15).Formula
vScoreData(72) = .Range("StartData").Offset(0, 16).Formula
vScoreData(73) = .Range("StartData").Offset(0, 17).Formula
vScoreData(74) = .Range("StartData").Offset(0, 18).Formula
End With
End Sub

L'erreur venant de la ligne en orange.
Je ne m'y connais quasiment pas en VBA, mais en plus j'ai du mal à comprendre ce à quoi elle renvoie sous excel (car la formule =Si, alors, sinon sur excel je maîtrise en temps normal).

Je viens donc vers vous en ultime recours, sinon j'arrêterais le golf tant pis! Non je plaisante.
Je vous remercie infiniment à l'avance pour votre aide précieuse, et merci à ce forum d'exister!

A très vite j'espère.
Ludo
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re


Je m'étonne que tu aies accès au code VBA d'une application en version d'essai
Je suis allé sur le site de l'éditeur directement (sauf erreur de ma part) le code VBA ne devrait pas être accessible dans le version d'essai.
DJI Computer Solutions - Golf Tracker for Excel
Et si tu as payé les 24$ demandés pour cette application, tu ne devrais pas diffuser le code source sur un forum public.

PS: Evidemment si le code VBA est disponible dans le version d'essai, ne tiens pas compte de ce que j'ai écrit plus haut.
 
Dernière édition:

Ludoboss

XLDnaute Nouveau
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re,

je n'ai rien fait de spécial mis a part cliquer sur le bouton "enter score" de l'interface de départ, et au moment de "save score", une fenêtre s'ouvre en m'indiquant l'erreur indiquée. Je fais 'débogage' et cela m'amène sur la page des codes VBA.
 

Staple1600

XLDnaute Barbatruc
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re

Alors me voila rassuré ;)

Je vais donc téléchargé ce fichier le coeur joyeux et le tester pour voir si le bug se reproduit ici.

PS:J'espère quand même que tu as payé ta licence au terme de la période d'essai :)
 

Staple1600

XLDnaute Barbatruc
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re

Je viens de télécharger le fichier
Et le projet VBA du fichier gtxl20.xls est protégé par un mot de passe rendant le projet VBA inacessible.

Ce qui n'est pas le cas du fichier NSCard20.xlt dont le projet VBA est accessible.
(C'est de ce classeur que provient le code VBA que tu cites)

C'est ce fichier que tu utilises: NSCard20.xlt ?
 

Ludoboss

XLDnaute Nouveau
Re : VBA: Erreur d'execution 13: incompatibilité de type

Merci de te donner autant de mal Staple!

Je viens de lire d'où peuvent venir certaines erreurs comme la mienne, ils parlent de windows XP avec excel 2002.
Mon ordi lui c'est plutôt vista avec office 2010...ça vient peut être de là mais comment faire pour qu'un fichier xls puisse tourner sur une version ultérieure de office?
 

Staple1600

XLDnaute Barbatruc
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re


C'est plutôt les développeurs de DJI Computer Solutions qui se sont donnés du mal
(que personnellement je récompenserai en payant les 25$ de ce shareware si je devais l'utiliser après la période d'essai)
N'étant pas golfeur, je n'ai pas l'utilité de ce logiciel et vais donc de le désinstaller.

PS: je ne sais toujours pas si toi qui es golfeur (sport des gentlemens) l'es assez gentleman pour avoir payer ta licence.
Je m'abstiendrai donc dans le doute et pour le moment d'aller plus loin.
 

Ludoboss

XLDnaute Nouveau
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re

Je viens de télécharger le fichier
Et le projet VBA du fichier gtxl20.xls est protégé par un mot de passe rendant le projet VBA inacessible.

Ce qui n'est pas le cas du fichier NSCard20.xlt dont le projet VBA est accessible.
(C'est de ce classeur que provient le code VBA que tu cites)

C'est ce fichier que tu utilises: NSCard20.xlt ?

J'utilise ce fichier ( NSCard20.xlt ) exactement, et c'est sur celui ci que j'ai l'erreur 13.
Désolé si je m'embrouillais avec le fichier principal et les 2 autres fichiers, c'est un peu complexe pour moi.
 

Ludoboss

XLDnaute Nouveau
Re : VBA: Erreur d'execution 13: incompatibilité de type

Pour être honnête avec toi, je l'ai depuis 3 jours à peine, je veux simplement voir si ce fichier est viable (donc sans erreurs) pour régler les 25$.
Je trouve que le temps passé à faire ce fichier vaut beaucoup plus que 25$, je les réglerais avec grand plaisir à la fin de la période d'essai ou même avant, mais pour me rendre compte des possibilités de ce superbe fichier, il faut que je puisse au moins rentrer les scores car tout le fichier part de là.
Je comprends tes craintes, mais comme tu le dis, le golf est un sport de gentlemen, et dans cette discipline, un logiciel aussi complet pour 25$, c'est un cadeau.
Voilà tout ce que je peux te dire, si tu ne veux plus poursuivre ton aide sur cette erreur, je le regrette mais peux le comprendre.

Merci en tout cas pour tout ce que tu as fait même si cela n'a pas débloqué l'erreur que me renvoie le fichier.
 

Staple1600

XLDnaute Barbatruc
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re

Me voila rassuré une seconde fois ;)
(Content de savoir tu soutiens le shareware)

D'après ce que je semble comprendre, il faudrait utiliser non pas le fichier que tu utilises mais le fichier nommé
gtxl20.xls et dans celui cliquer sur le bouton adéquat selon ce que tu veux faire.

Essaie d'entrer un score en passant par ce fichier.
 
Dernière édition:

Ludoboss

XLDnaute Nouveau
Re : VBA: Erreur d'execution 13: incompatibilité de type

En effet je soutiens les shareware car derrière, une voir plusieurs personnes ont passé des heures précieuses que je n'ai pas pour développer ce genre de fichier, et comme le temps c'est de l'argent, il est logique qu'ils soient récompensés.

En fait, j'ouvre en premier le fichier gtxl20.xls, je clique sur le bouton "enterscore" et ceci m'ouvre une fenetre dans mes documents ou je dois choisir entre NScard20 ou NScore20.
Avec NScore20, le fichier ne s'ouvre pas car ce n'est pas celui qui correspond, et par contre NScard20 s'ouvre.
Pour que le fichier gtxl20 récupere les données, je suis obligé de les rentrer dans NScard20.
 

Staple1600

XLDnaute Barbatruc
Re : VBA: Erreur d'execution 13: incompatibilité de type

Re

Pour l'instant je n'ai pas de bug.
J'ai crée des infos bidons pour un golfeur en cliquant sur Golfer Information puis ensuite sur Enter Score

mais peut-être faut-il auparavant cliquer sur New ScoreCard non ? puis ensuite sur EnterScore

A quel étape le bug apparaît-il chez toi?

PS: Le problème c'est que ne sachant pas comment on remplit une grille de score, à part remplir et cliquer au hasard, je ne sais pas comment arriver à reproduire ton bug facilement.

Si je lance Sub DoDataArray() directement dans VBE, je n'ai pas de message d'erreur.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 193
Membres
103 153
dernier inscrit
SamirN