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 :

L'enregistreur de macro refuse l'enregistrement d'une formule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut L'enregistreur de macro refuse l'enregistrement d'une formule
    Bonjour,

    je souhaite utiliser l'enregistreur de macro pour enregistrer une formule que j'ai tapé sur Excel(la formule est très longue):
    Et ca me met:
    Impossible d'enregistrer

    je ne comprends pas?

    Comment faire

    Merci

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    Question bête mais, au hasard :
    as-tu libérer la cellule ? c.a.d. le curseur ne doit pas être dans la fenêtre des formules
    ou une autre macro est en cours...
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Merci de m'avoir lu, mais oui j'ai libéré la cellule
    donc c pas ca
    n'est ce pas lié à la longueur de la formule?n'y aurait il pas une option à cocher sous Excel ou qqchose????, pour une formule plus courte ca marche très bien
    Merci

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Écris ta formule sans l'enregistreur de macro.
    Sélectionne ta cellule contenant la formule.
    Lance cette macro (sur le module de ta feuille)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub xxx()
    Debug.Print ActiveCell.Formula
    End Sub
    sur la fenêtre exécution de l'éditeur vba, tu récupèrera la syntaxe de ta formule

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    j'avaoue que je ne comprends pas tout

    sur la fenêtre exécution de l'éditeur vba??? c ou je ne vois pas

    Merci

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    dans Affichage Fenetre Execution
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Merci pour votre aide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(ISBLANK(CI1042),"",IF(COUNTIF(AM1042:CI1042,5)=1,IF(AND(SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=-1)*1)=0,SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=1)*1)=0),1,0),0))
    Je n'arrive pas à la laisser sur une seule ligne dans mon module VBA(je crois qu'elle est trop longue c peut etre pour ca que que l'enregistreur de macro refusait de la lire) je mets donc espace_ pour aller à la ligne pour couper la formule en 3 mais la formule s'affiche en rouge et m'affiche:
    Erreur de compilation:
    Attendu : fin d'instruction

    Quelqun aurait une idée??

    Merci encore

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    C'est pas la longueur de la formule mais plus tôt il fallait dédoubler les "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C1").Formula = "=IF(ISBLANK(CI1042),"""",IF(COUNTIF(AM1042:CI1042,5)=1,IF(AND(SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=-1)*1)=0,SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=1)*1)=0),1,0),0))"

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    j'ai dedoublé mais vba me mets toujours une partie de la formule à la ligne suivante et me l'affiche en rouge,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("C1").Formula = "=IF(ISBLANK(CI1042),"""",IF(COUNTIF(AM1042:CI1042,5)=1,IF(AND(SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=-1)*1)=0,SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=1)*1)=0),1,0),0))"
    Si on la coupe en deux ou trois la bonne syntaxe pour passer à la ligne ca serait??(j'ai essayé espace_ mais ce ne marche pas)

    Merci

  10. #10
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bon, j'avais testé sur mon Excel 2007, la précédente proposition passait sans problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Range("C1").Formula = _
        "=IF(ISBLANK(CI1042),"""",IF(COUNTIF(AM1042:CI1042,5)=1,IF(AND(SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=-1)*1)=0,SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=1)*1)=0),1,0),0))"
    Sinon, réessaies ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Frm As String
     
    Frm = "=IF(ISBLANK(CI1042),"""",IF(COUNTIF(AM1042:CI1042,5)=1,"
    Frm = Frm & "IF(AND(SUMPRODUCT((OFFSET(AM1042:CI1042,,"
    Frm = Frm & "MATCH(5,AM1042:CI1042,0),,COUNTA(AM1042:CI1042)"
    Frm = Frm & "-MATCH(5,AM1042:CI1042,0))=-1)*1)=0,"
    Frm = Frm & "SUMPRODUCT((OFFSET(AM1042:CI1042,,MATCH(5,AM1042:CI1042,0),,"
    Frm = Frm & "COUNTA(AM1042:CI1042)-MATCH(5,AM1042:CI1042,0))=1)*1)=0),1,0),0))"
    Range("C1").Formula = Frm

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 6
    Par défaut
    Ca marche
    Merci

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

Discussions similaires

  1. [Macro Excel] Fonction qui calcule une formule dans une cellule
    Par Enthau dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2008, 16h31
  2. Réponses: 2
    Dernier message: 31/07/2007, 19h27
  3. macro pour un "enregistrer sous" automatique
    Par Cilou38 dans le forum VBA Word
    Réponses: 1
    Dernier message: 19/07/2007, 13h22
  4. [VBA-E-W]Piloter l'enregistreur de macro ?
    Par tazamorte dans le forum VBA Word
    Réponses: 3
    Dernier message: 25/04/2007, 12h42
  5. [access] exécuter macro sur chaque enregistrement
    Par alain105d dans le forum Access
    Réponses: 3
    Dernier message: 26/04/2006, 15h50

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