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

Excel Discussion :

Mise en forme conditionnelle [XL-2003]


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Par défaut Mise en forme conditionnelle
    Bonjour,

    Je travail avec Excel 2003 et malheureusement les mises en forme conditionnelles sont limités à 3.

    Pour ce projet, j'ai besoin de 6 mises en forme différentes mais je ne sais pas comment faire.

    J'aimerais une genre de macro mais sans bouton d'activation, j'ai testé quelques petites chose via ThisWorkBook mais sans résultat.

    Je vous met en lien mon projet afin que puissiez comprendre.

    J'ai 6 type d'actes différents auxquels j'aimerais une couleur différente pour chaque type seulement avec la MFC simple je ne peux en obtenir que 3.

    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Il y a de l'idée, toutefois tu es mieux de passer par un évènement sur la feuille.
    Il me semble qu'un évènement change est plus aproprié, je me suis permis un petit code avec le principe du .Find, ça fait moins de lignes, les explications en commentaires dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim MaRech As Range
    Dim MaCoulF As Integer, MaCoulI As Integer
     
        Set MaRech = ActiveSheet.Range("h1:h6").Find(Target.Value) 'Recherche dans la plage la "valeur" de la cellule modifiée
    If Not MaRech Is Nothing Then 'Si n'est pas rien, ce qui arrive si on efface le contenu de la cellule.
        MaCoulI = Cells(MaRech.Row, 8).Interior.ColorIndex 'Récupère le numéro de couleur de fond par rapport à la plage H1:H6
        MaCoulF = Cells(MaRech.Row, 8).Font.ColorIndex 'Récupère le numéro de couleur du texte par rapport à la plage H1:H6
        Cells(Target.Row, Target.Column).Interior.ColorIndex = MaCoulI 'Applique la couleur de fond à la cellule modifiée
        Cells(Target.Row, Target.Column).Font.ColorIndex = MaCoulF 'Applique la couleur du texte à la cellule modifiée
    Else 'Si la valeur de la cellule n'est pas trouvé dans la liste
        Cells(Target.Row, Target.Column).Interior.ColorIndex = xlNone 'Pas de couleur de fond
        Cells(Target.Row, Target.Column).Font.ColorIndex = xlAutomatic 'Couleur du texte en noir (automatique)
    End If
     
    End Sub

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Par défaut
    Merci beaucoup Fvandermeulen pour cette réponse.

    Cependant, je ne m'y connais pas du tout la dessus.

    serait-il possible que tu m'explique de A à Z comment je fais fonctionner ton code, c'est à dire où je doit le mettre et comment faire pour qu'il fonctionne.

    Si cela t'es impossible je comprendrais.

    Encore merci

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,

    Le plus simple est de faire un click droit sur l'onglet, là tu choisis 'voir code'
    Il t'amène directement sur le module de feuille.
    Ce qui veut dire que le code ne se déclenche que sur un évènement précis SUR cette feuille.
    Dans ce cas, c'est l'évènement CHANGE. Dès que la valeur d'une cellule de cette feuille change, la macro se lance.
    La macro récupère directement la cellule modifiée grace à la variable Target.
    C'est grace à celle ci qu'on fait une recherche dans la liste en H1:H6 et qu'on l'affecte à la variable MaRech, ne reste plus qu'à récupérer les couleurs de la cellule en qui correspond à la recherche pour l'appliqué à la cellule qui vient d'être modifiée (Target).

    Voilà, en espérant avoir répondu à tes questions.

    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 6
    Par défaut
    C'est tout simplement parfait

    Merci encore

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

Discussions similaires

  1. mise en forme conditionnelle et vba
    Par malabar92 dans le forum Access
    Réponses: 4
    Dernier message: 26/04/2006, 15h18
  2. Mise en forme conditionnelle
    Par the big ben 5 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 23/12/2005, 16h20
  3. [VBA][Excel] mise en forme conditionnelle
    Par titflocon dans le forum Access
    Réponses: 9
    Dernier message: 19/12/2005, 11h13
  4. Réponses: 4
    Dernier message: 15/11/2005, 19h53
  5. Mise en forme conditionnelle en VBA / Cut-Paste
    Par priest69 dans le forum IHM
    Réponses: 4
    Dernier message: 03/09/2005, 14h54

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