Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2012, 13h24   #1
Membre habitué
 
Homme christian
retraite
Inscription : avril 2010
Messages : 310
Détails du profil
Informations personnelles :
Nom : Homme christian
Âge : 56
Localisation : Espagne

Informations professionnelles :
Activité : retraite
Secteur : Industrie

Informations forums :
Inscription : avril 2010
Messages : 310
Points : 109
Points : 109
Par défaut Formatage cellule en fonction des données

Bonjour
j'ai un tableau que je renseigne en colonne Z AA et AB
Je souhaiterais quand je mets une valeur en Z3 que la cellule W3 soit de couleur VERTE, ainsi de suite pour toutes les lignes de Z
Je souhaiterais quand je mets une valeur en AA3 que la cellule W3 soit de couleur BLEU, ainsi de suite pour toutes les lignes de AA
Je souhaiterais quand je mets une valeur en AB3 que la cellule W3 soit de couleur ORANGE, ainsi de suite pour toutes les lignes de AB
J'ai essayer avec la mise en forme conditionnelle, cela fonctionne , mais des que met mon tableau vierge, je perds la mise en forme conditionnelle
y a t'il un moyen pour que cette mise en forme soit toujours effective
cris
chris09300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 13h37   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Je vois 3 possibilités :
- Quand tu mets ton tableau vierge, tu le fais via en collage-spécial valeur pour ne pas perdre la mise en forme.
- Tu fais une macro qui te remets la mise en forme automatique.
- Tu fais une macro qui fait la mise en forme.
Les 3 sont assez simples, mais la première ne demande aucun travail supplémentaire.
Fais ton choix !
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 14h08   #3
Membre habitué
 
Homme christian
retraite
Inscription : avril 2010
Messages : 310
Détails du profil
Informations personnelles :
Nom : Homme christian
Âge : 56
Localisation : Espagne

Informations professionnelles :
Activité : retraite
Secteur : Industrie

Informations forums :
Inscription : avril 2010
Messages : 310
Points : 109
Points : 109
j'ai mis le code suivant et cela fonctionne.
y a-t-il un moyen de reduire ce code

Code :
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
Range("W3:W67").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=SI(ESTVIDE($Z3);0;1)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65280
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    [W1].Select
        Range("W3:W67").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=SI(ESTVIDE($AA3);0;1)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65280
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    [W1].Select
        Range("W3:W67").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=SI(ESTVIDE($AB3);0;1)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 65280
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    [W1].Select
cris
chris09300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 14h20   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Je ne sais pas si ça va marcher :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim rg As Range
 
Set rg = Range("W3:W67")
 
rg.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=SI(ESTVIDE($Z3);0;1)"
rg.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=SI(ESTVIDE($AA3);0;1)"
rg.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=SI(ESTVIDE($AB3);0;1)"
 
rg.FormatConditions(1).Interior.Color = vbGreen
rg.FormatConditions(2).Interior.Color = vbBlue
rg.FormatConditions(3).Interior.Color = RGB(255, 165, 0)
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 14h44   #5
Membre habitué
 
Homme christian
retraite
Inscription : avril 2010
Messages : 310
Détails du profil
Informations personnelles :
Nom : Homme christian
Âge : 56
Localisation : Espagne

Informations professionnelles :
Activité : retraite
Secteur : Industrie

Informations forums :
Inscription : avril 2010
Messages : 310
Points : 109
Points : 109
ca fonctionne bien
merci
cris
chris09300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h56.


 
 
 
 
Partenaires

Hébergement Web