Partager via

Erreur exécution '13' incompatibilité type

Anonyme
2023-02-03T18:17:58+00:00

Bonjour,

Sur cette ligne :

Sheets("récap").Range("A3").Resize(lignetab, 11) = Application.Transpose(TabOngletRecap)

j'ai le message : "erreur exécution'13' incompatibilité type" quand je lance la macro sur Excel 2016 MSO 64 bits alors que sur Excel 365, mon tableau se copie bien dans la feuille récap.

Dans la fenêtre espion sur la 1ère ligne, j'ai bien en type variant/variant(1to11,1to259), ce qui correspond à la variable lignetab (256)

Si vous avez une idée.

merci de votre aide

ptck

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Hecatonchire 53,700 Points de réputation Modérateur bénévole
2023-02-04T13:33:14+00:00

Bonjour,

Pas de problème pour moi avec

Sub test()

Dim lignetab(1 To 11, **1 To 256**) 

**Sheets("récap").Range("A3").Resize(UBound(lignetab, 2), 11)**.Interior.Color = vbRed 

End Sub

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

9 réponses supplémentaires

  1. Anonyme
    2023-02-03T22:08:01+00:00

    Non

    Resize(lignetab, 11) => redimension sur la variable lignetab soit 259 lignes et 11 colonnes à partir de la cellule A3

    Ça marche sur Excel 365 et pas Excel 2016 !!!

    cdt

    ptck

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Hecatonchire 53,700 Points de réputation Modérateur bénévole
    2023-02-03T20:47:07+00:00

    Désolé, je suis peut être fatigué ce vendredi soir mais je ne comprend pas

    • Sheets("récap").Range("A3").Resize(lignetab, 11)

    Resize attend une valeur ligne (lignetab) et colonne (11) mais ici on a pas les index des dimensions de ligneTab ! Ca me parait étrange.

    ca devrait être quelque chose comme

    • Sheets("récap").Range("A3").Resize(lignetab(1,2), 11) => Valeur 1 et 2 au hasard

    Le 11 n'est-ce pas une confusion avec le1er index de lignetab ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2023-02-03T19:27:10+00:00

    Bonsoir,

    lignetab correspond à la dimension du tableau recalculé dans une boucle. C'est bien 259 et non 256, car je ne connais pas à l'avance la dimension lignetab qui est donc la dernière dimension du tableau calculée. C'est pourquoi je le transpose.

    Dans la fenêtre espion, j'ai bien en type variant/variant(1to11,1to259)

    cdt

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Hecatonchire 53,700 Points de réputation Modérateur bénévole
    2023-02-03T18:34:57+00:00

    Bonsoir

    C'est lignetab qui est variant/variant(1to11,1to259) ? Donc un tableau à 2 dimensions ?

    C'est quoi "ce qui correspond à la variable lignetab (256)" ? 1 dimension ?

    "Resize(lignetab, 11)" lignetab pas un tableau ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire