XL 2010 Erreur dexécution 13 - variable tablo

Goufra

XLDnaute Occasionnel
Bonjour

J’ai un bug que je n’arrive pas à résoudre – erreur d’exécution ‘13’, incompatibilité de type


Test5 avec cette ligne de code

Range("E1").Resize(UBound(tablo, 1), UBound(aa, 2)) = application.Transpose(Application.Transpose(tablo))



Test6 avec cette ligne de code

Range("E1").Resize(UBound(aa, 2), UBound(tablo, 1)) = Application.Transpose(tablo)


Fichier joint

Je tourne en rond.
Je vous remercie par avance pour l’aide que vous voudrez bien m’apporter

Bonne journée

Goufra
 

Pièces jointes

  • Goufra Tests.xlsm
    15.1 KB · Affichages: 33

Goufra

XLDnaute Occasionnel
Bonsoir merci à vous deux
herve pour le test 5 c'est ok et j'ai compris.

Klin89, pour le test 6
ReDim Preserve tablo(C - 1)
tablo(C - 1) = Application.Index(aa, a)

Je ne comprends pas tablo(c-1)
C est égal à 10 pourquoi c-1
Si tu pouvais m'expliquer

Navré de t'importuner
Avec mes remerciements
Goufra
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
J'ai pas précisé , mais c'est pour test5 et 6 cela marche pour les 2
en fait quand tu Redim tu ne gardes que la dernière valeur , Or tu boucles !! donc tu effaces en faisant 1 to c à chaque fois tu ajoutes et garde les valeurs précédentes
Si tu veux tout comprendre tu jettes un oeil ici : http://boisgontierjacques.free.fr/pages_site/tableaux.htm#Redimentionnement
Ce site est une référence pour nous ici
 

klin89

XLDnaute Accro
Re Goufra,

Effectivement, ton tableau comporte 10 éléments indicés de 0 à 9
La restitution s'effectue comme ceci puisque l'indice inférieur est égale à 0
VB:
Range("E1").Resize(UBound(tablo, 1) + 1, UBound(aa, 2)) = Application.Transpose(Application.Transpose(tablo))
J'ai tellement l'habitude de travailler avec des variables tableaux dont l'indice inférieur est égal à 1 :cool:

klin89
 

Goufra

XLDnaute Occasionnel
Bonjour

J’ai un bug que je n’arrive pas à résoudre – erreur d’exécution ‘13’, incompatibilité de type


Test5 avec cette ligne de code

Range("E1").Resize(UBound(tablo, 1), UBound(aa, 2)) = application.Transpose(Application.Transpose(tablo))



Test6 avec cette ligne de code

Range("E1").Resize(UBound(aa, 2), UBound(tablo, 1)) = Application.Transpose(tablo)


Fichier joint

Je tourne en rond.
Je vous remercie par avance pour l’aide que vous voudrez bien m’apporter

Bonne journée

Goufra
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 754
Membres
101 812
dernier inscrit
trufu