IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Initialiser l'argument FieldInfo pour OpenText [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Par défaut Initialiser l'argument FieldInfo pour OpenText
    Bonjour,
    Je cherche désespérément à initialiser l'argument FieldInfo de la méthode OpenText à partir d'informations transmise par un opérateur.
    Tout ce que je trouve se fait directement dans le code par exemple FieldInfo:=Array(Array(0, 1), etc.

    Je voudrai juste à définir les colonnes devant avoir un format texte (pour conserver les zéros de donnée texte contenant que des chiffres). Par exemple l'opérateur transmet une variable "3;5" pour indiquer que la colonne 3 et 5 doivent être au format texte.

    J'ai dans un premier temps créer une variable string FormCol="Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1),Array(5, 2))" mais FieldInfo:=FormCol
    génère une erreur.

    Puis j'ai cherché à créer un tableau du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim FormCol(5)
    FormCol(1)=Array(1, 1)
    FormCol(2)=Array(2, 2)
    FormCol(3)=Array(3, 1)
    FormCol(4)=Array(4, 1)
    FormCol(5)=Array(5, 2)
    ....
    Workbooks.OpenText Filename:=ChemFich, ....FieldInfo:=FormCol()
    Mais cela ne marche pas non plus ....

    Par avance, merci

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Sans avoir testé, je dirais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim FormCol(5)
    FormCol(1)="Array(1, 1)"
    FormCol(2)="Array(2, 2)"
    FormCol(3)="Array(3, 1)"
    FormCol(4)="Array(4, 1)"
    FormCol(5)="Array(5, 2)"
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Par défaut
    Merci pour l'idée mais je viens de faire l'essai et cela ne marche pas.
    Peut être de la façon dont je transmet le tableau FieldInfo:=FormCol() ?
    En tout cas j'ai du mal à comprendre l'initialisation de cet argument.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    pou moi c:
    FieldInfo:=Array(Array(1,4),Array(2,6),etc..)
    le premier élément des tableaux etant le numéro de colonne et commençant donc à 1 et non à 0. Mais par contre ce ne doit pas être une variable de type string, c'est bien un tableau qui est attendu.

  5. #5
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Par défaut
    Citation Envoyé par Benjîle Voir le message
    pou moi c:
    FieldInfo:=Array(Array(1,4),Array(2,6),etc..)
    le premier élément des tableaux etant le numéro de colonne et commençant donc à 1 et non à 0. Mais par contre ce ne doit pas être une variable de type string, c'est bien un tableau qui est attendu.
    OK pour le tableau mais comment tu l'initialise de façon dynamique ?

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    avec redim preserve

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim obj()
    obj = Array(Array(1, 1))
    ReDim Preserve obj(1)
    obj(1) = Array(2, 1)
    ReDim Preserve obj(2)
    obj(2) = Array(3, 1)
    obj2 = obj(1)
    Debug.Print obj2(1)
     
     
    Workbooks.OpenText Filename:="C:\Documents and Settings\Benjîle\Bureau\myfile.log", fieldinfo:=obj

  7. #7
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 35
    Par défaut
    Cela ne vient de la façon de transmettre la variable car j'ai fait un essai qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FormCol()=Array(Array(1, 1), Array(2, 1), Array(3, 2), Array(4, 1),Array(5, 2)))
    Workbooks.OpenText Filename:=ChemFich, ....FieldInfo:=FormCol()
    J'avoue que l'argument tableau contenant un tableau vide cela me dépasse un peu...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur pour initialiser les arguments
    Par LastSpear dans le forum OpenCL
    Réponses: 2
    Dernier message: 24/06/2010, 12h33
  2. argument dnDevInst pour CM_Request_Device_Eject
    Par dtcSearch dans le forum C#
    Réponses: 0
    Dernier message: 31/12/2009, 09h54
  3. Réponses: 2
    Dernier message: 11/05/2009, 15h25
  4. Réponses: 4
    Dernier message: 21/03/2008, 17h40
  5. Réponses: 5
    Dernier message: 10/03/2006, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo