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 :

Mise en forme conditionnelle par ligne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Mise en forme conditionnelle par ligne
    Bonjour,

    J'ai une feuille de calcul avec différentes lignes.
    Je voudrais faire une mise en forme conditionnelle sous forme d'échelle de couleurs, mais par ligne. Si je sélectionne l'ensemble de lazone évidemment il fait la mise en forme sur l'ensemble des valeurs.
    Exemple: la ligne 1 comporte 4;7;12 je veux 12 en rouge 4 en vert et 7 entre les 2; la ligne 2 comporte 23;78;98 je veux 98 en rouge etc., mais le 12 d'au dessus doit rester en rouge!
    COmment faire sans répéter la mise en forme sur chaque ligne (il y en a plus de 50?) ?

    La solution que j'ai trouvé serait une macro VBA mais j'aimerais faire en plus simple...

    Merci.

    --
    SB

  2. #2
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    si tu es à 2003 ou en dessous pas de solution autrement que par VBA .
    car nécessiterait l'emploi de MFC à plus de trois conditions
    ceci mettant les couleur en fonction d'un nombre
    par contre si par ligne tu veux le maxi en rouge
    le mini en vert
    la solution sera de fairer une MFC sur la première cellule (mettons A7)
    le champ s'étendant j'usqu'en colonne I
    doc en A7 Mise en forme conditionnelle =A7=max($A7:$I7) (format rouge )
    seconde condition =A7=min($A7:$I7) (format rouge)

    bon si j'ai bien compris la demande

  3. #3
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Oui tu as bien compris, pour min/max je sais faire, mais j'aurais pensé qu'il y avait un moyen standard de faire une échelle par ligne...

    Pas grave je vais essayer de régler ça en 5 lignes de VBA (je n'y connais pas grand chose mais ce que je veux faire n'est pas bien compliqué non plus).

    Merci!

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    comme indiqué par Daranc,


    si tu es sous 2010, tu as tout intérêt à regarder ceci (dans l'aide Excel):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Utiliser des graphiques sparkline pour afficher les tendances des données
    Un graphique sparkline, nouveauté de Microsoft Excel 2010, est un graphique minuscule dans une cellule de la feuille
     de calcul qui propose une représentation visuelle des données. Ce type de graphique vous permet d’afficher les 
    tendances d’une série de valeurs comme les augmentations ou réductions saisonnières, les cycles économiques
     ou de mettre en évidence des valeurs maximales et minimales. Pour en optimiser l’impact,
     placez un graphique sparkline près des données qu’il représente.
    et ceci : sur DVP


    cordialement,

    Didier

  5. #5
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai fait ça (pas propre mais ça a l'air de marcher) :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub colorie()
        Dim rouge, vert As Integer
     
        For li = 6 To 51
     
            Set myrange = Worksheets("Feuil1").Range(Cells(li, 3), Cells(li, 21))
     
     
            maxli = Application.WorksheetFunction.Max(myrange)
            minli = maxli
     
     
            For co = 3 To 16
                If Cells(li, co).Text <> "" Then
                    If Cells(li, co).Value < minli Then minli = Cells(li, co).Value
                End If
     
            Next co
     
            iEcart = maxli - minli
     
            If iEcart <> 0 Then ncoef = 1 / iEcart
     
     
            For co = 3 To 16
                If Cells(li, co).Text = "" Or iEcart = 0 Then
                    Cells(li, co).Interior.Color = RGB(172, 172, 172)
                Else
                    valeur = Cells(li, co).Value
                    rouge = (valeur - minli) * ncoef * 255
                    vert = 255 - rouge
                    Cells(li, co).Interior.Color = RGB(rouge, vert, 0)
     
     
                End If
     
     
            Next co
        Next li
     
     
     
    End Sub

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

Discussions similaires

  1. Mise en forme conditionnelle par rapport à un champ
    Par marcelstan dans le forum Access
    Réponses: 4
    Dernier message: 01/08/2014, 09h10
  2. [XL-2010] Manipuler les mises en forme conditionnelles par macro
    Par EmmanuelleC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/04/2014, 17h44
  3. [XL-2007] Mise en forme conditionnelle pourcentage ligne
    Par alex_m94 dans le forum Excel
    Réponses: 4
    Dernier message: 17/09/2013, 17h35
  4. [XL-2010] Mise en forme conditionnelle par rapport à une autre cellule
    Par patch2007 dans le forum Excel
    Réponses: 10
    Dernier message: 09/03/2012, 08h56
  5. mise en forme conditionnelle par Date
    Par bibi28 dans le forum IHM
    Réponses: 10
    Dernier message: 24/08/2008, 16h17

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