Run time error '13' type mismatch

Fermé
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018 - 23 juil. 2018 à 17:28
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018 - 24 juil. 2018 à 11:47
Bonjour à tous,
j'ai un soucis concernant un bout de code que j'essaie d'exécuter
Dim n As Integer

For n = 6 To 900
    S3.Cells(n, 47) = S3.Cells(n, 45) / S3.Cells(n - 1, 45) - 1
Next n


j'essaie de calculer les valeurs de ma plage ("AV6:AV900") de ma feuille 3 en suivant la formule suivante :
AV6=AT6/AT5 - 1

Mais je recois un message d'erreur ( "type mismatch"), pouvez- vous s'il vous plait m'éclairer si je fais effectivement une erreur et comment la contourner?
je galère depuis ce matin .
Merci de votre aide, cordialement
A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 juil. 2018 à 17:37
Bonjour,

Es tu certain de n'avoir que des nombres dans tes cellules ?
Quand tu exécutes ce code en mode pas à pas... a quelle itération de ta boucle (autrement dit.. que vaut N ) lorsque ça plante ?


0
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
23 juil. 2018 à 17:46
Bonjour jordane45, oui j'ai des nombres dans les cellules, le code ne s'execute même pas j'ai aussitôt le message d'erreur
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
23 juil. 2018 à 17:51
Ton code est placé où ?
La variable S3 est déclarée et initialisée où et comment ?
Tu as des données y compris à la ligne 5 ? ( vu que tu fais un n-1 dans ta boucle )
0
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
23 juil. 2018 à 17:55
oui jai declaré s3 comme sheet3 à la ligne 5 jai un NA mais cest normal le fond n'as pas coté a cette date c'est de la que viens le problème?
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
23 juil. 2018 à 17:58
ben.... modifie le NA par une valeur et regarde ce que ça donne....
0
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
23 juil. 2018 à 18:42
D'accord je m'y met des que je rentre
0
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
24 juil. 2018 à 09:02
Bonjour à tous,
je reviens sur ce que j'ai declaré la colonne ou il y a un NA n'est pas concernée par le code
"AT" correspond à la 46 eme colonne ( c'est à la premiere ligne que j'ai un NA)
sinon le code porte sur "AS"( 45 eme colonne).
Merci de vos réponses et belle journée
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
24 juil. 2018 à 09:13
Si tu ne trouves pas la solution, n'héistes pas à nous poster un fichier d'exemple (en masquant les donnes sensibles).
Tu peux le déposer sur cijoint et nous fournir son lien ici.
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
0
Laetitiayao Messages postés 54 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 31 août 2018
24 juil. 2018 à 11:47
Merci jordane45 et patrice33740 vous aviez effectivement raison la colonne comportait un NA à la ligne 896, je l'ai remplacé et il marche correctement. cependant j'ai le même problème avec et autre bout de code

Dim g As Long
For g = 5 To 900
    If Application.VLookup(S3.Cells(g, 50), S3.Range(Cells(5, 4), Cells(900, 6)), 2, False) = S3.Cells(9, 1).Value Then
        S3.Cells(g, 51) = Application.VLookup(S3.Cells(g - 1, 50), S3.Range(Cells(5, 4), Cells(900, 6)), 2, False)
    Else
        S3.Cells(g, 51) = Application.VLookup(S3.Cells(g, 50), S3.Range(Cells(5, 9), Cells(900, 11)), 2, False)
    End If
Next g


Les données sont bien présentes , ci - joint mon fichier:

https://www.cjoint.com/c/HGyjKyftOOh
0