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 :

Comment affecter le contenu d'une Cell a une variable contenue dans une autre cell


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut Comment affecter le contenu d'une Cell a une variable contenue dans une autre cell
    Bonjour,

    Je voudrais savoir comment affecter le contenu d'une cellule par le contenu d'une autre cellule.
    example:
    A(1)= toto
    A(3)=24

    Je voudrais affecter a toto la valeur 24, de tel sorte que si je display la variable toto il me dise 24.
    J'ai essaye avec la commande INDIRECT, mais je n'y suis pas arrive

    Merci de m'aider

  2. #2
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonsoir,

    Crée le nom "Toto" (Menu Insertion, Nom, Définir... ou, si tu utilises Excel 2007, Formules puis Gestionnaire de noms), et affecte-lui la valeur 24.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut
    Merci ,

    Ce n'est pas ce que je cherche a faire.
    En fait j'ai le tableau suivant

    F G
    6: FSBaseAdress 0000
    7: CDLocationBasePointer 0200
    8: RDLocationBasePointer 0100

    Ce tableau peut evoluer, en fait ce sont des pointeurs d'adresses et dans mon code VBA je me sers des variables qui sont en F6,F7 et F8 et je veux que ces variables contiennent les valeures qui sont en G.

    Est-ce possible ? et si oui comment.

    J'ai bien essaye avec la commande INDIRECT, mais celle-ci ne fonctionne pas (pas reconnue sous VBA avec Excell 2003 SP2) et je ne sais pas pourquoi.

    Merci de m'aider

  4. #4
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Re,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Variables()
    Dim FS As String, CD As String, RD As String
        FS = Range("G6")
        CD = Range("G7")
        RD = Range("G8")
    End Sub
    Mais je ne comprends pas où se trouve l’indirection.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 92
    Par défaut
    Je crois que je me suis mal exprime. Ce n'est pas FS, ni CD ni RD que je veux affecter avec les valeures de G6,G7 et G8. Mais ce sont les variables qui sont dans F6, F7 et F8 soit:
    FSBaseAdress = 000
    CDLocationBasePointer=0200
    ..etc
    Je veux pouvoir utilier le contenu des cells en F6,F7 et F8 comme variables et leur affecter les valeures de G6,G7 et G8.

    C'est pour cela que je pqrle d'indirection. De plus, je ne sais pas pourquoi ma fonction INDIRECT n'est pas reconnue en vba chez moi ?

  6. #6
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Dans l’exemple de code, j'ai utilisé FS, CD et RD comme nom de variables. Si tu as déjà des variables, utilise-les à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    VSub Variables()
    Dim FS As String, CD As String, RD As String
        FSBaseAdress = Range("G6")
        CDLocationBasePointer = Range("G7")
        RDLocationBasePointer Range("G8")
    End Sub

  7. #7
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Ce que je ne comprends pas est cette phrase :

    Citation Envoyé par gilles06 Voir le message
    Mais ce sont les variables qui sont dans F6, F7 et F8
    Tu peux inscrire le nom de variables dans des cellules, mais cela ne dispense pas de les définir dans VBA : il n'y a donc pas de variables dans les cellules, mais de simples chaînes de caractères.

    Ou alors on n’a pas forcément besoin de VBA, et on en revient à ma première option, qui est de définir des noms :

    Celui en F6 pour le contenu de la cellule G6
    ...

    Et dans les cellules, on peut alors utiliser ces 3 noms comme on le ferait en VBA avec des variables.

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

Discussions similaires

  1. [MySQL] recuperer une valeur dans une liste deroulante pour l'utiliser dans une seconde liste
    Par tortue_22 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 12/05/2010, 11h50
  2. Réponses: 2
    Dernier message: 29/09/2009, 15h33
  3. Réponses: 8
    Dernier message: 12/08/2009, 11h32
  4. Réponses: 4
    Dernier message: 04/07/2008, 10h34
  5. Réponses: 1
    Dernier message: 22/06/2008, 22h47

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