VBA - Excel : comment executer un texte de marco inclus dans une variable string

cs_dbk Messages postés 2 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 11 février 2010 - 8 févr. 2010 à 14:05
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 11 févr. 2010 à 18:30
Bonjour,

Tout d'abord, merci aux tenanciers de ce lieu, c'est une mine d'informations !

Etant un piètre développeur en herbe en VBA / Excel, je bloque sur un problême qui ne doit pas être bien compliqué à résoudre:

Présentation du cas:
Je travaille sur une importation de fichier texte puis un découpage (via TexttoColumns) en utilisant une suite "array".
Cette suite du style :
Array(Array(0, 2), Array(1, 2), Array(3, 2), Array(6, 2))
sera dynamique car j'ai en amont du découpage une reconnaissance de la structure de découpage dans un tableau annexe.

Pour palier au problême du Array dynamique, je reproduis (via une boucle) la syntaxe complète du futur contenu du parametre "Array( ... ) ce qui me donne quelque chose comme ça :

avec comme valeur de "syntaxperso" (type string):
syntaxperso : "Array(0, 2), Array(1,2), Array(12,2), Array(15,2), Array(19,2), Array(24,2)"


que j'appelle dans la ligne:
Sub decoupesuivantligne(syntaxperso As String)

    Worksheets("feuil2").Columns("A:A").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, FieldInfo:=Array(syntaxperso), TrailingMinusNumbers:=True       'termine la syntaxe de formule
    
    'Application.Run testfonction
End Sub



Problême :
l'execution de la ligne Selection.TextToColumns produit aucun découpage aque que si je reconstitue la commande avec les valeurs de "syntaxperso" dans la ligne "Selection.TextToColumns..." , le découpage se déroule correctement.

Est ce grave Docteur ?
Est il possible d'intégrer une variable dans les paramètres de la fonction TextToColumns ?
Aurais je oublié quelque chose ?

Merci d avance pour votre aide.
Cordialement

*d*B*k*

2 réponses

cs_dbk Messages postés 2 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 11 février 2010
11 févr. 2010 à 17:00
Bonjour,

Je n'ai peut etre pas décrit la problèmatique correctement...
je vais simplifier ma question:

En ayant une variable "syntaxperso" (string) suivante :
syntaxperso="Array(0, 2), Array(1,2), Array(12,2), Array(15,2), Array(19,2), Array(24,2)"


Si j execute la ligne suivante, rien ne se passe:

sub mafonction()
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, FieldInfo:=Array(syntaxperso), TrailingMinusNumbers:=True
end sub


Avez vous une idée ?

Merci d avance

*d*B*k*
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 févr. 2010 à 18:30
Bonjour,
Syntaxperso doit nécessairement être un Array ...
donc du genre
syntaxperso = array(array..., array...)=
Lis cette discussion :
http://www.vbfrance.com/forum/sujet-VBA-TEXTTOCOLUMNS-FORMULES_759152.aspx
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous