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 :

[VBA-E] - lire la formule d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut [VBA-E] - lire la formule d'une cellule
    bonjour à tous !

    j'aimerais savoir comment je pourrais lire la formule présente dans une cellule précise afin de pouvoir l'exécuter.

    merci d'avance pour votre aide

  2. #2
    Membre habitué Avatar de Ania
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 134
    Points
    134
    Par défaut
    quand tu dis que tu veux l'exécuter, tu veux en faite récupérer la formule d'une cellule et

    - la recopier dans une autre pour l'exécuter

    ou

    - décoder la formule afin de l'inclure dans ton code ???

  3. #3
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    en fait je veux l'interpréter pour l'exécuter, donc la méthode à utiliser je sais pa trop en fait, laquelle me proposez vous ?

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    comprend pas ta question..Regarde peut etre les propriétés de "Formula"
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    en fait je veux récupérer la formule présente dans une cellule en vba, puis l'exécuter automatiquement...

    dites le si c'est toujours pa clair !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    peut être devrais tu songer à récupérer chaque symbole et à lui affecter une opération. les chiffres ou lettres restant inchangés, les opérateurs emmenant à une procédure qui fait le même travail, etc... commencer par relever toutes les parenthèses et travailler en premier lieu sur l'intérieur de celle ci. et remplacer au fur et à mesure de "l'interprêtation" les nouvelles valeurs. (sait pas si c'est clair)

  7. #7
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    euh nan dsl pa trop , mais c'est pas grav je verrais sa après le déjeuner ! merci quand même et bon appétit a vous !

  8. #8
    Membre habitué Avatar de Ania
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Points : 134
    Points
    134
    Par défaut
    peux tu nous dire ce que contient ta formule et ce que tu veux faire exactement avec si ça n'est pas confidentiel bien sur

    car j'ai du mal à voir ce que tu veux obtenir

  9. #9
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Citation Envoyé par jimbololo
    en fait je veux récupérer la formule présente dans une cellule en vba, puis l'exécuter automatiquement...

    dites le si c'est toujours pa clair !

    Comment ça l'éxécuter automatiquement ? normalement quand tu met une formule dans une cellule elle s'exécute
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    je donne un exemple :


    la formule de la case est : x²*((y/a) + 30*(z-1)

    il faut commencer par relever tout ceci dans une chaine strformule

    1/tu décomposes ensuite ta chaine en cherchant la première parenthèse fermée ")" puis cherche la parenthèse ouvrante la plus proche sur la gauche de celle-ci dans la chaine.

    2/tu mets tout ce qu'il y'a à l'intérieur dans une chaîne temporaire, que tu vas interpréter. pour ça, tu construis une méthode qui associe aux lettres (a, b, etc) les valeurs correspondantes (tu ne pourras pas calculer quoique ce soit si tu n'as pas les valeurs de ces lettres!)
    tu associe chaque valeur chiffrée de la chaîne temporaire au vrai chiffre
    et tu associes à chaque signe une sous procédure effectuant le rôle du signe.
    par exemple, si tu tombes sur a*b : tu commences par remplacer a et b par leurs valeurs et tu envoies ces valeurs dans une procédures qui les multiplies.

    3/ tu continue la recherche de parenthèse fermée en revenant à l'étape, et ainsi de suite jusqu'à ce que la formule entière soit décodées et transformée en une simple expression que tu pourras passé directement en 2/ (lorsqu'il n y aura plus de parenthèse). penses à mettre des ordres de priorité aux * et / par rapports aux + et -.

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et c'est quoi tes x , a , b .... ? d'ou en connai tu la valeur ? et combien y en as t'il ...? a,b,c,d,e,f,g,..z,...???

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 36
    Points : 15
    Points
    15
    Par défaut
    j'ai imaginé une formule au sens littéral parce que je ne sais pas comment fonctionne excel. j'imagine que dans les cases se trouvent des chiffres, des valeurs. par exemple, que dans la formules, le "a" est en fait un identifiant d'une autre case, par exemple : la formule : case 1 = case 2 + case 3. dans ce cas, le "a" dans mon exemple équivaut à "case 1" et il faudra alors faire correspondre cette valeur dans le programme.

    bien je souhaitais juste donner des idées, je n'ai pas les compétences pour réaliser ça, mais je souhaitais apporter mon aide

  13. #13
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    bon apparement je n'ai pa besoin de la réexécutée, j'ai vu sa avec mon maître de stage, il me faut juste récupérer la formule telle quelle afin de la stockée dans une variable string que je réutiliserai plus tard...

  14. #14
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben as ce moment la c'est .Formula... ou .FormulaLocal

  15. #15
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    oui désolé jvien de regardé un peu l'aide et j'ai vu la méthode .formulalocal, bon j'men vai essayé sa de suite. merci beaucoup a tous ceux qui m'ont aidé !

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

Discussions similaires

  1. Insérer une formule dans une cellule Excel via VBA
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/02/2020, 13h02
  2. [VBA-E] Afficher et fixer la formule d'une cellule donnée
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/06/2014, 07h27
  3. introduire formule dans une cellule via VBA
    Par lilly91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/02/2010, 16h16
  4. Inscrire une formule dans une cellule par VBA
    Par marc56 dans le forum Excel
    Réponses: 6
    Dernier message: 23/11/2008, 23h57
  5. [VBA] Macro qui envoie une formule dans une cellule
    Par Okoss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2007, 22h32

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