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

Autres Copier sur feuille excel les données d'un tableau 3D

Co_Lac

XLDnaute Junior
Bonjour,

J'ai un tableau 3D qui se nomme "tab_soc" a 3 dimensions défini par :

Dim tab_soc(100,400,5) as variant
redim tab_soc(nb_soc,Nb_lignes_tab,5)

Comment fait on pour écrire sur une feuille excel les données du niveau 1 (nb_soc) ?
J'ai écris
Sheets("Graph").Range(Cells(W, col + 1), Cells(W + Nb_lignes_tab, col + 5)) = tab_soc 'Et là je ne sais pas quoi écrire j'ai essayé plein de solution mais rien ne marche !!!
J'ai essayé "= tab_soc(nb_soc, 1 to Nb_lignes_tab, 1 to 5) ça ne marche pas ...
Si vous avez des idées Merci
J'ai cherchais pendant 2 jours sur le net je ne trouve pas !
Je sais le faire avec un tableau 2D mais pas avec un 3D !
Et je ne sais pas créer un tableau 2D à partir d'un 3D
Merci
 

Co_Lac

XLDnaute Junior
Re bonjour
Je viens d'essayer de comprendre ça marche partiellement on va dire !
J'ai écris à force de bidouille ça :
For f = 0 To nb_soc
For m = 0 To Nb_lignes_tab + 1
For p = 0 To 5
tab_soc(f, m, p) = x
x = x + 1
Next
Next
Next
ReDim tab1(Nb_lignes_tab + 1, 5)
For m = 0 To Nb_lignes_tab + 1
For p = 0 To 5
tab1(m, p) = tab_soc(f, m, p)
Next
Next
MsgBox "date :" & tab1(2, 0) & "Open :" & tab1(2, 1) & "Higt :" & tab1(2, 2) & "low:" & tab1(2, 3) & "Close:" & tab1(2, 4)

'Sheets("Graph").Range(Cells(W - 1, col), Cells(W + Nb_lignes_tab, col + 5)) = tab1
Sheets("Graph").Range("A51").Resize(Nb_lignes_tab + 1, 5) = tab1

Conclusion : Je m'explique, la colonne "A" rien pas de données, vide !

Les colonnes se remplissent de la "B" à la "E" !
06/01/2020​
12.985​
12.995​
12.740​
J'ai un Msgbox qui lui si je le rempli comme ça :
MsgBox "date :" & tab1(2, 0) & "Open :" & tab1(2, 1) & "Higt :" & tab1(2, 2) & "low:" & tab1(2, 3) & "Close:" & tab1(2, 4) !!! j'ai la date de vide, donc la colonne "A" est vide !
si je le rempli comme ça :
MsgBox "date :" & tab1(2, 1) & "Open :" & tab1(2, 2) & "Higt :" & tab1(2, 3) & "low:" & tab1(2, 4) & "Close:" & tab1(2, 5) !!!!! là dans le Msgbox ça marche j'ai bien toutes mes données !
Je suis léger en vba je manque d'expérience et là je ne trouve pas !
Désolé
Est ce que tu as une solution stp ?
Merci
 

Co_Lac

XLDnaute Junior
Bonjour,
Je vais essayer car je n'ai jamais fait de transfert !
Tu vas rigoler c'est un peu le foutoir !
Mais à 68 ans de débuter en vba c'est pas simple quand il faut tout apprendre !
Je l'ai fait évolué depuis hier ça marche mais il y a toujours ces colonnes de vides et j'aime pas quand je comprends pas !
Merci
 

Co_Lac

XLDnaute Junior
Dommage le fichier est trop volumineux!
Et je n'arrive pas à le compresser le compresser
Je joint les deux modules qui créent les tableaux en world!
 

Pièces jointes

  • Sub Cours_suivi.docx
    11.8 KB · Affichages: 3
  • Import_cours.docx
    15.4 KB · Affichages: 3

Discussions similaires

Réponses
3
Affichages
231
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…