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

VBA réunir plusieurs tableaux à une dimension

  • Initiateur de la discussion Initiateur de la discussion AzoR
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AzoR

XLDnaute Occasionnel
Bonjour !

J'ai fait des tableaux sous VBA ( pas dans une feuille excel ) ainsi :


mesureP1 par exemple est du type
+1.96080000E+01,+1.95620000E+01,+1.95700000E+01,+2.00660000E+01,+1.96080000E+01,+1.95620000E+01,+1.95700000E+01,+2.00660000E+01
Split me permet donc de couper à chaque virgule et me crée donc un tableau à une dimension et huit valeurs.


J'arrive donc avec 8 tableaux à une dimension ( qui ont chacun 8 valeurs ).
Le problème est que je voudrais "fusionner" ses tableaux pour n'en faire plus qu'un à deux dimension (dans l'idéal, avec huit colonne et huit ligne donc) OU en faire un seul à une dimension et je devrais ensuite le couper toutes les 8 valeurs.

Et tout ceci uniquement en VBA ! Pas dans une feuille excel. Grâce aux variables tableaux donc 🙂

Merci d'avance !
 
Re : VBA réunir plusieurs tableaux à une dimension

Bonjour,

Tableau résultat 1D

Code:
Sub ConcatTableau()
  a = Array(1, 2, 3, 4)
  b = Array(5, 6, 7, 8, 9)
  c = Split(Join(a, ",") & "," & Join(b, ","), ",")
  [A1].Resize(UBound(c) + 1) = Application.Transpose(c)
End Sub

Tableau résultat 2D

EXemple avec 4 tableaux

Code:
Sub EssaiMergeArray()
  a = [A1].Resize(5, 1)     ' tableau a(5,1) 1
  b = [b1].Resize(5, 1)
  c = [c1].Resize(5, 1)
  d = [d1].Resize(5, 1)
  e = MergeArray(MergeArray(a, b), MergeArray(c, d))
  [m1].Resize(UBound(e), UBound(e, 2)) = e   ' tableau e(5,4)
End Sub

8 tableaux

Code:
  j = MergeArray(MergeArray(MergeArray(a, b), MergeArray(c, d)), MergeArray(MergeArray(e, f), MergeArray(g, h)))

Cf Les tableaux

JB
 

Pièces jointes

Dernière édition:
Re : VBA réunir plusieurs tableaux à une dimension

Merci mais je n'arrive pas à l'appliquer à mon programme. Enfaite je n'arrive pas à comprendre ce qui est entre crochet ? Qu'est-ce ?
et pourquoi avoir besoin d'utiliser les resize aussi ?

Du coup j'essaye de partir sur une méthode plus simple en attendant, tout mettre en ligne, et après avec une boucle for je dirai de laisser de 0 à 7 en colonne n°1, ensuite j'incrémente et je passe les 8 valeurs suivantes en colonne n°2 etc ...
J'ai toutes les valeurs en ligne pour l'instant avec Split puis Join .
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…