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,870 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. DanielCo 107.7K Points de réputation
    2023-02-04T13:15:53+00:00

    Ce code fonctionne pour moi (Excel 365)

    Dim TabOngletRecap(1 To 11, 1 To 259) As Variant, lignetab
    lignetab = UBound(TabOngletRecap, 2)
    Range("A3").Resize(lignetab, 11) = Application.Transpose(TabOngletRecap)

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

    0 commentaires Aucun commentaire
  2. Anonyme
    2023-02-04T12:28:14+00:00

    bonjour Daniel,Hecatonchire

    pas possible je récupère des données de fichiers fermés et confidentiel

    mais en enlevant le transpose çà marche

    mais j'ai pour la 1ère ligne en colonne et le reste en #N/A (ce qui est normal..)

    je fais autrement je vais calculer la 1ère dimension et ne pas utiliser transpose

    pour info sheets("récap").Range("A3").Resize(UBound(lignetab,2), 11) => j'ai erreur compilation

    merci encore

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

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2023-02-04T06:57:29+00:00

    Bonjour,

    "çà marche sur excel 365 et pas excel 2016 !!!"

    Peux-tu partager le classeur ?

    Daniel

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

    0 commentaires Aucun commentaire
  4. Hecatonchire 53,870 Points de réputation Modérateur bénévole
    2023-02-03T22:38:32+00:00

    Pour moi ta syntaxe est erronée

    Si tu veux dimensionner la plage selon la taille de la 2eme dimension de ta variable tableau (259).

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

    A toi de voir

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

    0 commentaires Aucun commentaire