Bonjour,
J'ai beau chercher je ne trouve pas exactement ce que je souhaite savoir alors je me permet de poster ici.
Voici la situation :
Je reçois des fichiers excel (Voir pièce jointe).
Mais les colonnes n'existent pas et il me faut donc (via une macro) scinder les lignes en différentes colonnes.
Je fais donc cela sous Excel, avec Données --> Convertir.
Cela revient à faire un fichier excel = Une macro de convertion de cellules.
La fonction généré par excel est donc :
Je souhaiterais maintenant le faire gràce à une et une seule fonction de façon dynamique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub MacroFichier01() Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(11, 1), Array(17, 1), Array(38, 1), Array(59, 1), _ Array(71, 1), Array(79, 1), Array(84, 1), Array(87, 1), Array(98, 1), Array(109, 1), Array( _ 120, 1), Array(131, 1), Array(136, 1), Array(141, 1), Array(151, 1), Array(155, 1)), _ TrailingMinusNumbers:=True End Sub
Pour cela, je dispose des largeurs de chaque colonnes sur le fichier excel (Elle correspondent aux nombres de tirets de la deuxième ligne du document excel)
J'ai donc réussi à remplir une collection de largeurs afin d'instancier l'Array dynamiquement.
Ma querstion est donc : Comment remplir dynamiquement un tableau comme celui généré par la fonction. Je n'arrive pas à boucler sur ma collection tout en instanciant mes tableaux.
Merci à vous !
Partager