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 :

utiliser une variable dans une formule de calcul


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut utiliser une variable dans une formule de calcul
    Bonjour,
    je ne trouve pas l'écriture correcte pour remplacer "ma recherche" par une variable.

    le code d'origine est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ActiveCell.FormulaR1C1 = "=COUNTIF(R[1]C:R[5]C,""ma_recherche"")"
    je souhaite un résultat du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ma_variable = "ma_recherche"
    ActiveCell.FormulaR1C1 = "=COUNTIF(R[1]C:R[5]C,ma_variable)"
    il ne me reste que cette ligne de code pour achever une appli "pour mon entreprise !!"
    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut utiliser une variable dans une formule de calcul
    Bonjour

    Dans une feuille de calcul, cette formule peut s'utiliser avec une variable, mais celle-ci doit être définie dans un nom qui appartient au classeur.
    Donc je te suggère de définir un nom de variable pour y mettre le résultat de ta recherche. Le code suivant fonctionne selon moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim resultat As String
        resultat = "recherche"
        ActiveWorkbook.Names.Add Name:="variable", RefersToR1C1:=resultat
     ActiveCell.FormulaR1C1 = "=COUNTIF(R[1]C:R[5]C,variable)"
    resultat est la variable de ton code
    variable est le nom de la variable donnée dans la feuille de calcul et utilisée dans la formule. Celle-ci prend la valeur "recherche".

    Salutations

  3. #3
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonjour, alain

    pour tout ce qui est entre " n'est pas évalué si tu veux mettre le contenu d'une variable dans ta formule il faut mettre cette variable à l'extérieur des " :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ma_variable = "ma_recherche"
    ActiveCell.FormulaR1C1 = "=COUNTIF(R[1]C:R[5]C," & ma_variable & " )"

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut
    MERCI frolland46,
    ta solution me comble.
    Je vais utiliser la déclaration de variable dans le reste de mon code, sous la forme que tu m'as proposé
    Alain

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 27/07/2011, 09h50
  2. utilisation d'une variable d'une class dans une autre class
    Par the watcher dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2010, 14h01
  3. 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, 19h05
  4. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  5. Réponses: 1
    Dernier message: 15/02/2007, 00h24

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