Mise en forme conditionnelle sur VBA [Résolu/Fermé]

Signaler
-
 marmotte38630 -
Bonjour,
Je suis en train de faire un tableur de suivi de réponse pour ma recherche d'emploi.
J'aimerai donc créer une macro qui hachure la ligne correspondante à la valeur "non" dans une colonne. ce que je veux faire c'est si dans la colonne G je tape non sur une ligne alors cette ligne se hachure
Pour le moment ma macro ressemble à cela mais ma partie "if select range = non then" n'est pas correct apparemment comment la modifier.

Sub réponse()
Dim i As Integer
For i = 2 To 100
Range("g" & i).Select
if select range = non then
Range(g & i).Activate
With Selection.Interior
.Pattern = xlLightUp
.PatternColorIndex = xlAutomatic
.ColorIndex = xlAutomatic
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End Sub

en vous remerciant par avance

3 réponses

Messages postés
16395
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
5 mars 2021
3 146
Bonjour,

bien que j' approuve totalement l'opinion et sa démonstration de ligne entière en MEFCde l'ami Vaucluse

ci joint proposition en VBA
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns("G")) Is Nothing Then
     If Target = "non" Then
          Rows(Target.Row).Interior.Pattern = xlLightUp
     Else
          Rows(Target.Row).Interior.Pattern = xlNone
     End If
End If
End Sub


macro événementiellement à copier-coller dans le module VBA de la feuille concernée

M... puissance 13 pour ta recherche de boulot
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
25864
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
7 mars 2021
5 817
Bonjour
pourquoi une macro alors qu'Excel permet de la faire avec les MFC et la formule, pour un nom en G1 et un tableau de A1 à Z100 par exemple:
sélectionnez le tableau complet
MFC par formule
=$G1="non"
format hachuré.
(s'il s'agit d'Excel, bien sur)
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?

d'une part parce qu'avec les MFC je peux pas faire hachurer la ligne et d'autre part avant je savais manipuler VBA et que je suis en train de m'y remettre
Messages postés
25864
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
7 mars 2021
5 817
tout à fait d'accord pour vos objectifs concernant VBA, quant au fait que l'on ne peut hachurer en MFC, c'est un autre sujet!!
Voyez ici:
https://www.cjoint.com/?BAFnjMg17wl

bonne route

crdlmnt
bonjour, michel_m

merci pour l'idée de macro, pourrais tu éclairer ma lanterne car je comprends en gros la macro mais je connais pas "target" à quoi cela correspond-t il.

j'ai essayé la macro mais j'arrive pas à la lancer, comment dois'je faire.
existe-t-il une autre solution sans passer par une private sub?
Messages postés
16395
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
5 mars 2021
3 146
La macro est une macro événementielle et est à installer dans un module feuille. manière simple
tu fais un copier du code
clic droit sur l'onglet (en bas de l'cran XL) de la feuille concernée
visualiser le code
coller

target est un des param^tres de la macro
Private Sub Worksheet_Change(ByVal Target As Range)
déclarée en cellule(range) et désigne la cellule active

existe-t-il une autre solution sans passer par une private sub?
fais déjà marcher celle que je t'ai proposée: tu pourras alors juger si c'est intéressant d'appuyer sur un bouton

merci pour les infos cela fonctionne très bien