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 :

[VBA] Convertir une chaine en Range pour une sélection de colonnes [Toutes versions]


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
    Mars 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Par défaut [VBA] Convertir une chaine en Range pour une sélection de colonnes
    Bonjour les internautes,

    Je rencontre une petite difficulté au niveau de mon script VBA qui a pour but de créer une série de graphiques en fonction du nombre de mesures que contient le fichier texte.

    Mon soucis est que je souhaite faire mes propres sélections pour éditer mes graphiques puisque la colonne 'Temps' est tout le temps utilisée. Pour ceci, je concatène des éléments pour obtenir une chaîne de caractères de la forme "C:C,E:E" par exemple. La variable maSelection contient bien l'exemple donné précédemment.
    Ensuite je souhaite donc sélectionner ces colonnes en faisant Range(maSelection).Select ou Columns(maSelection).Select pour éditer mon graphique.

    Cependant, Range(maSelection).Select ou Columns(maSelection).Select donnent une erreur et me sortent de mon programme. Avez-vous une autre méthode pour la sélection de mes colonnes via une chaîne de caractères???

    Merci pour votre aide,

    Aurelangelo

  2. #2
    Membre confirmé Avatar de PUARAI
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 191
    Par défaut
    Donne moi un exemple

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Par défaut
    Exemple :

    J'ai un fichier texte qui comporte des données sur 5 colonnes et je veux effectuer un graphique en utilisant la colonne C (pour les x) et E (pour les y).
    Donc, je dois en effet sélectionner ces deux colonnes pour pouvoir éditer mon graphique ce qui doit donner quelques choses du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    xl.Columns("C:C,E:E"). select ' pour la sélection des colonnes
    xl.Charts.Add ' pour créer le graphique qui n'est pas un problème
    Cependant pour effectuer la chaine "B:B,D:D", j'utilise un script me permettant de la créer puisque mon fichier peut contenir plus de 5 colonnes (et donc plus de mesures) et la colonne B reste la colonne utilisée pour les abscisses. Donc je pourrais très bien avoir dans ma chaîne de caractères "B:C,D:D" ou "C:C,E:E" ou "C:C,..."
    Pour faire ceci je construis ma chaîne de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim selection as String
    selection = "C:C," & Chr(Asc("A") + (numCol - 1)) & ":" & Chr(Asc("A") + (numCol - 1))    ' la chaîne contient bien un des exemples ci-dessus
    xl.Columns(selection).Select ' sélection des colonnes déterminer par la chaîne ci dessus
    Cependant, mon programme plante toujours au niveau du columns car il ne doit pas accepter ma chaîne selection. Alors si vous avez une idée, je suis totalement preneur ! merci

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Selection n'est-il pas un mot réservé pour VBA ?

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Par défaut
    J'ai changé selection en maPlage et j'obtiens le même problème donc ce n'était pas une soucis ...

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Quand j'exécute ton code, j'ai dans selection :

    "C:C,@:@"

    Que veux tu obtenir comme plage ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/08/2013, 21h57
  2. Réponses: 3
    Dernier message: 22/08/2010, 17h40
  3. erreur pour une insertion d'une chaine de caractere dans une cellule
    Par amel95140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/10/2006, 09h09
  4. Et pour une chaine ?
    Par mick030118 dans le forum C
    Réponses: 7
    Dernier message: 12/03/2006, 11h19
  5. result: chaine de caractère pour une DLL
    Par Sephiroth Lune dans le forum Langage
    Réponses: 7
    Dernier message: 27/07/2004, 23h05

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