Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Transfert d'un Tab dans un autre

néné06

XLDnaute Accro
Bonjour le salon,
Après une longue absence, je repasse par le forum car un ami a demandé mon aide, pour un petit programme.
n'ayant plus pratiqué depuis longtemps, des lacunes apparaissent!
Je bloque sur un problème tous bête.
J'ai, dans mon programme, deux tableaux 2D.
Je rempli le premier et c'est OK - Dim Tablo_Temp(25, 18)
Je souhaite charger le deuxième tableau avec les données du premier - Dim Tablo_Somme(25, 18)
J'écrit donc !Tablo_Somme = Tablo_Temp
Et ça ne fonctionne pas
J'ai regardé les explications de JB mais je ne trouve pas la solution ou l'erreur de syntax?

Voici une partie du programme:

Option Base 1

Dim Tablo_Temp(25, 18)

Dim Tablo_Somme(25, 18)

Public Sub Ecriture_des_données_sur_Reporting()

[C9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 1)

[D9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 2)

[E9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 3)

[F9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 4)

[G9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 5)

[H9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 6)

[I9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 7)

[J9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 8)

[N9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 9)

[O9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 10)

[P9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 11)

[S9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 12)

[Y9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 13)

[K9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 14)

[L9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 15)

[Q9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 16)

[T9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 17)

[Z9].Resize(UBound(Tablo_Temp, 1)) = Application.Index(Tablo_Temp, , 18)



Tablo_Somme = Tablo_Temp

End Sub

D'avance, merci pour votre aide!

A+
 

Theze

XLDnaute Occasionnel
Bonjour,

En fait, c'est tout bête, il ne faut pas initialiser tes tableaux dans la déclaration mais avec un Redim :
Code:
Sub Tableau()
   
    Dim Tablo_Temp()
    Dim Tablo_Somme()
   
    ReDim Tablo_Temp(1 To 25, 1 To 18)
           
    'ici ton code de remplissage de Tablo_Temp...
    '...
    '...
   
    ReDim Tablo_Somme(1 To UBound(Tablo_Temp, 1), 1 To UBound(Tablo_Temp, 2))
   
    Tablo_Somme = Tablo_Temp
    'ici, suite du code...
    '...
    '...
   
End Sub
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…