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 :

[E-03] Actualiser des formules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut [E-03] Actualiser des formules
    Bonjour,

    je sais que plusieurs personnes ont déja posé la question.
    Je n'ai pas trouvé de réponse sur le forum.

    Mon problème est : J'ai des formules =SI(A1="a";"Name";"Nom")
    Assez simple, mais si le fichier est ouvert sur un poste anglais, à l'ouverture une macro détecte la langue et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Selection.Replace What:="SI", Replacement:="IF", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Comme ça, je remplace les SI par des IF pour l'utiliser sur un poste anglais.

    Mais après la manipulation, je dois faire F2 puis Enter pour actualiser la cellule. J'ai essayé Application.Calculate mais ça ne fonctionne pas.
    Je ne ferai pas une macro qui fait Pour toutes cellules : SendKeys F2 et Enter.....

    J'aurais pensé que Application.Calculate aurait fonctionné mais ce n'est pas le cas.
    Est-ce qu'il a un autre moyen que celui-ci? Sinon, comment pourrais-je affecter le bon titre de colonne (francais ou anglais)?

    Merci comme toujours de votre collaboration!

    Mathieu

  2. #2
    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
    bonsoir ,

    drakkar_agfa , n'ayant pas de version anglaise d'excel sous la main, je ne peu tester, mais je suis persuadé qu'excel effectue seul la traduction des formules en fonction de la langue sélectionné.

  3. #3
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonsoir,

    bizarre ton problème.

    Pourrais-tu un peu plus expliquer ou se trouvent tes formules et comment tu les encodes.

    Si elle sont générées par VBA, tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.evaluate
    il y a un post ouvert par moi hier qui est résolu avec ce sujet ici

  4. #4
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    je m'excuse, je n'ai pas le temps de vérifier ta réponse sur ton poste.

    Mais j'ai déja une forumle dans ma cellule : =SI(A1="a";"Name";"Nom")

    Et, quand j'ouvre mon fichier, en VBA, je vérifie, si c'est un poste anglais alors le code met "a" dans la cellule A1. Tout va bien jusque la. Mais, dans un poste anglais, la formule SI n'existe pas.... alors j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Selection.Replace What:="SI", Replacement:="IF", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Apres avoir placé "a" dans la cellule A1. Comme ca, c'est rendu if(.........;....;...)

    Sauf que je dois manuellement faire F2 et enter pour que le changement se fasse...

    Merci!

  5. #5
    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
    Re- drakkar_agfa ..

    tu n'as pas répondu à mon message précédent :

    Il me semble impossible que la formule ne soit pas tout simplement traduite par excel !

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonsoir Jacques,
    je suis de ton avis.

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 05/06/2018, 09h36
  2. [VBA]écrire des formules en Access comme en Excel ?
    Par beegees dans le forum Access
    Réponses: 2
    Dernier message: 14/12/2005, 01h23
  3. Utiliser un parser pour extraire des formules
    Par EpOnYmE187 dans le forum C++
    Réponses: 2
    Dernier message: 15/03/2005, 23h55
  4. [CR 9] Utilisation des formules
    Par Joleroy dans le forum Formules
    Réponses: 9
    Dernier message: 13/09/2004, 08h11
  5. [CR7]Actualisation des données depuis VB
    Par elifqaoui dans le forum SDK
    Réponses: 4
    Dernier message: 24/11/2003, 13h44

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