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 :

Problème de conversion formule excel -> Macro VBA [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Problème de conversion formule excel -> Macro VBA
    Bonjour,

    Je suis en train de développer une feuille de calcul qui utilise des fonctions assez longue et lorsque j'essaie de convertir ces fonctions pour générer une macro cela pose un problème.
    En effet quand je re-execute la macro j'obtiens une erreur 1004.

    J'ai l'impression que excel n'arrive pas à convertir mes formules en langages VBA.

    Pour vous donner un exemple voici une formule utilisée dans une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(CHERCHE("(rename ";N3));SI(F3="";"";SI(ESTERREUR(CHERCHE("(net ";A3));SI(ET(F4="";F3="");"F";CONCATENER("""";M2;""""));STXT(A3;11;NBCAR(A3)-4)));CONCATENER("""";GAUCHE(STXT(N3;10;NBCAR(N3)-10);CHERCHE("""";STXT(N3;10;NBCAR(N3)-10))-2);""""))
    Et voici la conversion lorsque j'enregistre une macro
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
            "=ISERROR(SEARCH(""(rename "",RC[9]))?IF(RC[1]="""","""",IF(ISERROR(SEARCH(""(net "",RC[-4])),IF(AND(R[1]C[1]="""",RC[1]=""""),""F"",CONCATENATE("""""""",R[-1]C[8],"""""""")),MID(RC[-4],11,LEN(RC[-4])-4)))"""""""" MID(RC[9],10,LEN(RC[9])-10)?"""""""" MID(RC[9],10,LEN(RC[9])-10)?"

    Quelqu'un a t'il déjà eu ce problème?

    PS: J'utilise excel 2003



    Je vous remercie pour votre aide.

  2. #2
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    Salut et bienvenue a toi

    si tu as mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
     "=ISERROR(SEARCH(""(rename "",RC[9]))?IF(RC[1]="""","""",IF(ISERROR(SEARCH(""(net "",RC[-4])),IF(AND(R[1]C[1]="""",RC[1]=""""),""F"",CONCATENATE("""""""",R[-1]C[8],"""""""")),MID(RC[-4],11,LEN(RC[-4])-4)))"""""""" MID(RC[9],10,LEN(RC[9])-10)?"""""""" MID(RC[9],10,LEN(RC[9])-10)?"
    Je pense que ton problème vien des "?" que tu as mis à la place de ","

    Je sais pas si il manque pas une ")" !!

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse mais en fait c'est pas moi qui est écrit la formule VBA.

    Je fait un enregistrement de macro et je rentre la formule dans une cellule excel puis j'arrette l'enregistrement.
    Et ensuite lorsque je vérifie en VBA comment la macro a été écrite, j'obtiens la formule que tu cite avec les ?

    Là ou je ne comprend pas c'est pourquoi excel n'arrive pas à convertir correctement la formule en VBA.
    Est-ce un problème de langage FR avec les formules?
    Un problème avec les guillemets, je ne sais pas

  4. #4
    Membre éclairé Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Points : 879
    Points
    879
    Par défaut
    bonjour bedrohung,

    est ce que le code doit retouner une formule ou une valeur ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Une valeur

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 919
    Points
    55 919
    Billets dans le blog
    131
    Par défaut
    Salut.

    Ecris la formule en excel et active la cellule qui contient la formule.

    Dans le VBE, affiche la fenêtre d'exécution (CTRL+G) et saisis ceci
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ? activecell.formular1c1
    Tu pourras ainsi voir comment la formule est rédigée côté VBA

  7. #7
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Apparamment cela vient de office 2003, je viens de faire la même manipulation sous 2007 et voici la formule obtenue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
            "=IF(ISERROR(SEARCH(""(rename "",RC[9])),IF(RC[1]="""","""",IF(ISERROR(SEARCH(""(net "",RC[-4])),IF(AND(R[1]C[1]="""",RC[1]=""""),""F"",CONCATENATE("""""""",R[-1]C[8],"""""""")),MID(RC[-4],11,LEN(RC[-4])-4))),CONCATENATE("""""""",LEFT(MID(RC[9],10,LEN(RC[9])-10),SEARCH("""""""",MID(RC[9],10,LEN(RC[9])-10))-2),""""""""))"

    Je n'ai plus le problème de conversion et la macro fonctionne.

    Merci pour votre aide

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

Discussions similaires

  1. [E-00] Transcrire une formule Excel en script VBA
    Par ritournelle dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 16/10/2008, 11h53
  2. Réponses: 2
    Dernier message: 19/03/2008, 10h30
  3. Lien Delphi-Excel avec macro VBA
    Par sroge dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2008, 10h51
  4. Transformé une formule Excel en script VBA ?
    Par SFLEY dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/01/2007, 11h48
  5. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51

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