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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 8
    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
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    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
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 8
    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 émérite 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
    Par défaut
    bonjour bedrohung,

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

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

  6. #6
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    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
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

+ 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