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 :

Reconnaitre une variable dans une feuille de calcul


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut Reconnaitre une variable dans une feuille de calcul
    Bonjour,

    je solicite votre aide pour un problème que je n'arrive pas à résoudre.
    Je travaille sur un logiciel crée à partir d'excel VBA et j'aimerai créer des fichiers excels regroupant en première colonne des noms de variables déclarées dans mon programme principal et en deuxième colonne leur valeur (il y aura un grand nombre de fichiers de ce type).
    Ensuite, selon les besoins de l'utilisateur, les variables du fichier choisi par le programme seront toutes affectées de leurs valeurs respectives.
    Mon problème est que je n'arrive pas à affecter les valeurs aux variables car le programme ne reconnait pas les éléments de la première colonne comme noms de variables.

    Auriez-vous une idée sur ce problème ?

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Salut,
    Il faut créer une collection
    http://www.developpez.net/forums/sho...light=variable
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut
    Créer une collection me permet d'appeller les membres de cette collection par les noms de mes variables mais ne me permet pas d'affecter les valeurs voulues à ces variables.
    Ou peut-être n'ai je pas compris ton idée ?

  4. #4
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Quel type de variable est ce ?
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut
    Ce sont des variables destinées à recevoir des valeurs numériques donc déclarées en Single, Double et Integer.

  6. #6
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Ca semble convenir, essaye avec cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim adres as variant
         For i = 1 To 10 ' lignes
            Set adres = cells(i,2).value 'dans la colonne B la valeur
            Collect.Add adres, Cells(i, 1).Value ''dans la colonne A le nom
    set adres = nothing
        Next
     
        MsgBox Collect.item("ta variable").Text
        Collect.item("ta variable").Select
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut
    Ce code ne fonctionne pas car lorsqu'on déclare quelque chose avec Set, la valeur qu'on lui attribue doit être de type objet. Or ici la valeur d'une cellule n'est pas de type objet.
    J'ai essayé de transformer la valeur de la cellule en objet grâce à la fonction Evaluate() mais le programme me renvois toujours l'erreur "incompatibilité de type"

    Dommage l'idée paraissait bonne

  8. #8
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Oui effectivement,
    essaye comme cela ca fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub test()
     
    Dim Collect As New Collection
    Dim adres As Variant
         For i = 1 To 10 ' lignes
             adres = Cells(i, 2).Value 'dans la colonne B la valeur
            Collect.Add adres, Cells(i, 1).Value ''dans la colonne A le nom
     adres = ""
        Next
     
        MsgBox Collect.Item("A")
     
     
    End Sub
    avec de A1 à A10 = A,b,c,d,....
    et b1 à b10 des nombres
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Par défaut
    Oui ça marche, merci pour ton aide

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

Discussions similaires

  1. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 20h05
  2. Réponses: 4
    Dernier message: 29/01/2008, 12h12
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48
  4. Réponses: 1
    Dernier message: 15/02/2007, 01h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 16h19

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