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 actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Points : 39
    Points
    39
    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 éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    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 & " )"
    JacqueS.

    Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

    Pour devenir mon ami laissez moi un message

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    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