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 :

[Réfermé] Variable dans une formule


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [Réfermé] Variable dans une formule
    Bonjour,

    Je souhaite créer dans la cellule courante une formule qui corresponde à :
    Ma difficulté, c'est que "Feuille" est une variable, et que "22" est aussi une variable. Voilà le code que j'ai produit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1Local = "=" & Feuille & "!G" & NumLigne
    Le réultat dans la cellule de destination n'est pas fonctionnel:
    Je ne vois pas comment m'y prendre, merci de votre aide!

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 121
    Points : 119
    Points
    119
    Par défaut
    salut,

    essaie avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    activecell.value = bla bla bla

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Parfait, Merci RemiT !

    Alors, j'avoue que j'ai pas compris pourquoi je n'étais pas censé utiliser une formule, mais toujours est-il que ça fonctionne!

    Merci encore!

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ca fonctionnait parce que le contenu était un simple renvoi aux données d'une cellule d'un autre onglet...

    Mais j'ai ensuite besoin d'entrer une formule (localisée français) du même type. Or Value n'exécute pas ma formule (ajout de ' comme tout à l'heure) , et FormulaR1C1Local me renvoie une erreur!

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 121
    Points : 119
    Points
    119
    Par défaut
    C'est quoi une formule localisée francais ???

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ma formule contient les fonction nommées en français.

    En fait, si j'avais pas de problème à cause des variables (ce que tu as résolu tout à l'heure pour la référence) j'utiliserais FormulaR1C1Local .

    Je reprends:
    * Si j'utilise Value, VBA me lance une erreur
    * Si j'utilise FormulaR1C1Local VBA accepte la formule, mais elle apparait avec des cotes autour de la référence de cellule. On a comme tout à l'heure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(Feuille!'F58'<>"";Feuille!'F58';"")

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Résolution:

    Ne pas utiliser FormulaR1C1/FormulaR1C1Local lorsque la formule contient des références absolues, mêmes si ce sont des références absolues situées dans une autre feuille!
    Utiliser dans ce cas Formula/FormulaLocal !

    Tout simplement...

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 121
    Points : 119
    Points
    119
    Par défaut
    plusieurs choses :

    - vérifie si dans le menu "Outils" "Options" "Général", case "Style de référence L1C1" est cochée ou pas. Ceci te permet d'utiliser les formulaR1C1 ou pas...

    - Pour intégrer des formules comme tu veux le faire, j'utilise l'adressage relatif. C'est en fait ce qu'utilise Excel quand tu enregistres une macro avec l'enregistreur intégré.

    EX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.FormulaR1C1 = "=IF(RC<>"",""OK"",""NOT OK"")"
    Dans ce cas, tu remarqueras que SI devient IF
    Après il faut jouer avec RC pour selectionner la cellule que tu veux :
    R[1]C sélectionne la cellule juste en dessous
    RC[1] sélectionne la cellule juste à coté etc...

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

Discussions similaires

  1. [Formule] Variable dans une formule
    Par Krovax dans le forum Excel
    Réponses: 2
    Dernier message: 06/08/2008, 16h09
  2. Comment insérer une variable dans une formule type R1C1
    Par jo385 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2008, 13h20
  3. comment ecrire une variable dans une formule ?
    Par Djohn dans le forum Excel
    Réponses: 12
    Dernier message: 10/10/2007, 12h55
  4. [VBA-E]Utiliser une variable dans une formule
    Par bossu dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 04/06/2006, 15h25
  5. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52

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