Run time error '13' type mismatch

Laetitiayao Messages postés 54 Statut Membre -  
Laetitiayao Messages postés 54 Statut Membre -
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

3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. Laetitiayao Messages postés 54 Statut Membre
       
      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
    2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
    3. Laetitiayao Messages postés 54 Statut Membre
       
      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
    4. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > Laetitiayao Messages postés 54 Statut Membre
       
      ben.... modifie le NA par une valeur et regarde ce que ça donne....
      0
    5. Laetitiayao Messages postés 54 Statut Membre
       
      D'accord je m'y met des que je rentre
      0
  2. Laetitiayao Messages postés 54 Statut Membre
     
    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
  3. Laetitiayao Messages postés 54 Statut Membre
     
    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