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 :

Contenu d'une cellule comme nom de variable [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Points : 155
    Points
    155
    Par défaut Contenu d'une cellule comme nom de variable
    Bonjour le Forum,

    Est-il possible d’affecter le contenu d’une cellule comme nom de variable ? Par exemple Dim Cells(1, 1).Value As String mais cette syntaxe n’est pas acceptée par le compilateur.
    En me référant à l’image ci-jointe, je voudrais une variable France, une autre Espagne, …..
    http://cjoint.com/?CImhJvDQ3zY
    D’avance, soyez remerciés pour vos réponses

    Harry

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    je ne pense pas que ce soit possible mais tu peux, peut-être déclarer tes variabes directement et faire un repère pour ne plus chercher leur numéro de colonne, du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim France As Integer, Allemagne As Integer 'etc...
    With Sheets("Feuil1") 'remplacer par ton nom de feuille
      nbcol = .Cells(1, .Columns.Count).End(xlToLeft).Column
      '**********************************************************
      France = .Rows(1).Find("France", .Cells(1, nbcol)).Column
      Allemagne = .Rows(1).Find("Allemagne", .Cells(1, nbcol)).Column
      'etc...

  3. #3
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Points : 155
    Points
    155
    Par défaut
    Re,

    Merci pour la réponse.
    "je ne pense pas que ce soit possible" est ce que je craignais.
    Le problème est que je ne connais pas les pays à l'avance.
    Le but final est de modifier le code d'un Select Case d'une autre procédure en fonction du contenu de la feuille.
    Je continue de chercher.

    Excellente journée

    Harry

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu peux nommer tes cellules ou tes plages de données.

  5. #5
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2008
    Messages : 225
    Points : 155
    Points
    155
    Par défaut
    J'ai un début de solution à mon problème. Je n'ai pas besoin de transformer le contenu d'une cellule en variable, VBA le fait pour moi.
    J'ai découvert que l'instruction "Case" acceptait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Case Worksheets("Pays").Range("A1")
    comme paramètre.
    Excellente journée à tous

    Harry

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2009, 18h28
  2. [DEV] Contenu d'un NSString comme nom de variable
    Par allian dans le forum Objective-C
    Réponses: 5
    Dernier message: 20/04/2009, 08h04
  3. Réponses: 2
    Dernier message: 13/04/2009, 19h25
  4. [XL-2003] Contenu d une cellule comme référence d une autre Cellule
    Par Utopsya dans le forum Excel
    Réponses: 4
    Dernier message: 02/04/2009, 08h30
  5. Utiliser le contenu d'une cellule comme opérateur
    Par chico7878 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2008, 18h11

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