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 :

Formule dynamique dans une MFC


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 40
    Par défaut Formule dynamique dans une MFC
    Bonjour,

    J'ai un fichier excel avec macro pour la préparation de vol en aéronautique .

    à l'ouverture de mon fichier une macro se lance pour demander les options d'ouverture de se fichier. (vol médical, ou vol transport publique, ou vol privé) puis le nombre d'étapes qui sera fait.

    si c'est un vol médical, une macro se lance pour mettre des MFC sur certaines cellules (si l'équipe médicale a eu la formation de sécurité ou non). Si oui on laisse sans couleur la plage de cellule et si non on met d'une certaine couleur.

    voilà la MFC inserer par ma macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions.Add Type:=xlExpression, Formula1:="=DECALER(l_medic_f;EQUIV(1;(l_medic=$B$" & 16 + y + x & ")*(l_medic_p=$C$" & 16 + y + x & ");0)-1;;;)=FAUX"    'l_medic_f étant la colonne qui nous donne si vrai (formé) ou faux (non formé), l_medic la colonne qui donne le nom du medecin, l_medic_p son prénom
    Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions(Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions.Count).SetFirstPriority
    With Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions(1).Interior
     .PatternColorIndex = xlAutomatic
     .ThemeColor = xlThemeColorAccent2
     .TintAndShade = 0.399945066682943
    End With
    Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions(1).StopIfTrue = False
    Alors pour information cette formule marche très bien ce n'est pas ma question.

    Une fois que ma macro et est terminée j'ai:
    Nom : probleme_mfc1.JPG
Affichages : 418
Taille : 116,6 Ko
    donc j'ai une liste de validation de données sur B16 (Nom) et C16 (prénom) puis D16, E16, F16 et G16 sont trouvés dans un tableau sur une autre page en fonction de B16 et C16.

    Malheureusement, la mfc ne fonctionne pas au premier abord. Elle ne fonctionne que si je vais sur ma mfc, que je mette le curseur sur ma formule, que je tape entrée et que je clique sur appliquer.

    auriez vous une solution pour qu'elle fonctionne d'entrée?

    Merci.

  2. #2
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 40
    Par défaut
    Re bonjour,

    Je pense que cela pourrait être dans les options de la protection des cellules non?

    merci.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 40
    Par défaut
    bonjour,

    Alors cela ne vient pas de la protection des cellules puisque je l'ai enlevé et c'est pareil...

    Et pour l'activer, il n'y pas non plus besoin de mettre le curseur ex pressement dans la barre de formule de ma mfc. Il suffi juste de cliquer sur modifier la règle et de faire ok puis appliquer sans rien toucher d'autre.

    merci pour vos réponses.

  4. #4
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 40
    Par défaut Formule matricielle dans une MFC
    re_bonjour,

    Je viens de m’apercevoir d'un erreur grossière.

    Ce n'est pas une formule dynamique mais matricielle... d'ou le titre que j'aimerai modifier en: Formule matricielle dans une MFC.

    Merci de vos réponses.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    et si tu passes par une variable String intermédiaire pour ta formule de MFC ?
    eric

  6. #6
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 40
    Par défaut
    merci de ta réponse.

    Mais c'est toujours pareil.

  7. #7
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 40
    Par défaut
    Bonjour,

    J'y suis arrivé en passant par un moyen détourné:
    en H16 je lui rentre la formule matricielle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {=SI(ESTNA(DECALER(l_medic_f;EQUIV(1;(l_medic=B16)*(l_medic_p=C16);0)-1;;;));"";SI(DECALER(l_medic_f;EQUIV(1;(l_medic=B16)*(l_medic_p=C16);0)-1;;;)=FAUX;"FAUX";"VRAI"))}
    et la formule de ma MFC devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions.Add Type:=xlExpression, Formula1:="=$H$" & 16 + x + y & "=""FAUX"""
    Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions(Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions.Count).SetFirstPriority
    With Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions(1).Interior
     .PatternColorIndex = xlAutomatic
     .ThemeColor = xlThemeColorAccent2
     .TintAndShade = 0.399945066682943
    End With
    Range("B" & 16 + x + y & ":G" & 16 + x + y).FormatConditions(1).StopIfTrue = False
    Mais bon c'est dommage de ne pas avoir la solution.

    Si vous avez une idée n'hésitez pas car je trouve que ce n'est pas très propre...

    Merci quand même.

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

Discussions similaires

  1. [XL-2010] Appliquer une formule dynamique dans une boucle
    Par Electro02 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/06/2018, 08h51
  2. [XL-2010] Formule matricielle dans une MFC
    Par Abed_H dans le forum Excel
    Réponses: 6
    Dernier message: 24/02/2014, 14h46
  3. [Toutes versions] Utilisation formules dynamiques dans une boucle
    Par diby88 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 04/04/2013, 16h34
  4. [XL-2010] Combiner 2 formules dans une MFC
    Par thomasdu40 dans le forum Excel
    Réponses: 2
    Dernier message: 05/02/2013, 14h09
  5. Réponses: 9
    Dernier message: 22/06/2006, 20h06

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