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 :

Manipuler les mises en forme conditionnelles par macro [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut Manipuler les mises en forme conditionnelles par macro
    Bonjour,

    Je cherche des exemples de codes pour creer une mise en forme conditionnelle via vba

    Je ne veux pas faire la mise en forme directement via du vba, ca je sais comment faire, je veux vriment recreer une mise en forme conditionnel (a force de bidouiller le fichiers, les utilisteurs cassent la mise en forme conditionnel et j'en ai marre de la refaire a la main, j'aimerai pouvoir la regenérer par macro pour gagner du temps)

    Je suppose que c'est possible mais je dois mal choisir mes mot clef sous google, ca ne me ramene que des facon d'avoir des macros qui se comportent comme la mise en page conditionnelle

    J'ai évidement aussi essayé l'enregistreur de macro mais il semble ne pas capter les modifications réalisées dans les mise ajour conditionnelle

    Est-ce que quelqu'un peut m'aider avec un bout de code? Ensuite j'adapterai en fonction des mes besoins

    Merci d'avance

    Emmanuelle

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour, un exemple via le générateur de macros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 03/04/2014 par Marc-L
    '
        Selection.FormatConditions.Delete
        Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="0"
        Selection.FormatConditions(1).Font.ColorIndex = 3
    End Sub
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    autre exemple, excuses-moi Marc mais j'avais préparé :

    enregistreur nettoyé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Macro2()
    With Range("N1:P10") 'à remplacer par la chaine concernée
      .FormatConditions.Add Type:=xlExpression, Formula1:= _
            "=SI(N1=100,1;VRAI)" 'à remplacer par la condition désirée
      .FormatConditions(.FormatConditions.Count).SetFirstPriority
      'ci-dessous, à remplacer par le résultat voulu
      With .FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent3
        .TintAndShade = 0
      End With
      .FormatConditions(1).StopIfTrue = False
    End With
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur 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...)

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Salut Dominique ! Y a pas à t'excuser, surtout avec un exemple bien plus pointu !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    Super, merci beaucoup

    Par contre, je ne comprend pas pourquoi mon enregistreur ne macro ne capte rien alors que vous avez l'air d'avoir trouvé la base comme ça

    Il capte la création mais pas la modification?

    En tout cas, je suis débloquée

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Depuis la version 2010, l'Enregistreur de macros est bien moins performant …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

Discussions similaires

  1. [XL-2010] Mise en forme conditionnelle par ligne
    Par sbricout dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/02/2011, 17h51
  2. [XL-2007] Ajouter des icones dans les mises en formes conditionnelles
    Par brice86190 dans le forum Conception
    Réponses: 1
    Dernier message: 06/10/2010, 12h55
  3. mise en forme conditionnelle par Date
    Par bibi28 dans le forum IHM
    Réponses: 10
    Dernier message: 24/08/2008, 16h17
  4. Réponses: 2
    Dernier message: 07/03/2008, 10h29
  5. Mise en forme bordure par Macro sur plage nommée
    Par tempo-lyon dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 01/10/2007, 10h52

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