Remplissage automatique?

nilssous

XLDnaute Nouveau
Bonjour,

J'ai rajouté dans "mon budget personnel" une colonne "débit effectué", je voudrais quand je tape la lettre x dans cette colonne, que les 4 cellules à gauche de ce "x" soient automatiquement surlignées ou plutôt remplies en jaune.
J'imagine qu'il faut créer une macro...
Si quelqu'un pouv.... non... je suis sûr que quelqu'un peut m'aider.
Merci.
 

Tibo

XLDnaute Barbatruc
Re : Remplissage automatique?

Bonjour nilssous et bienvenue sur XLD,

Si ta croix est en colonne E, sélectionne A2:E500

puis Format - Mise en forme conditionnelle - La formule est :

=$E2="x"

+ choix couleur jaune

Je te laisse adapter

@+
 

Pierrot93

XLDnaute Barbatruc
Re : Remplissage automatique?

Bonjour,

essaye ceci, contrôle de la colonne E, si x présent alors colonnes A à D en jaune...
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 5 Then
    If Target.Value = "x" Then Range("A" & Target.Row).Resize(1, 4).Interior.ColorIndex = 6
End If
End Sub
bonne journée
@+

Edition : bonjour Tibo:), beaucoup plus simple, aarf je pars toujours directement sur du vba....
 

nilssous

XLDnaute Nouveau
Re : Remplissage automatique?

Waouh vous êtes hyper rapide !!!

Merci pour vos réponses.

Bon alors pour ta solution Pierro93, je fais Alt+F11, dans vba je copie ta formule (qui pour moi est plus *magique* que logique vu mon niveau) et après je ne sais pas trop quoi faire... tu peux me guider stp?
 

Pierrot93

XLDnaute Barbatruc
Re : Remplissage automatique?

Re,

c'est une procédure événementielle, se déclenche lors d'une modification sur la feuille... Il faut la coller dans le module de la feuille concernée... click droit sur l'onglet => visualiser le code => tu colles le code donné dans la fenêtre qui s'ouvre...
 

nilssous

XLDnaute Nouveau
Re : Remplissage automatique?

Tu es vraiment génial ou connaisseur ou instruit bref CA MARCHE !!!!

Un énorme merci pour ta rapidité et ton efficacité!

Ah, je viens d'enlever le "x" mais les cellules restent en jaune !? Faut-il compléter la formule pour que le jaune disparaisse si j'enlève le "x"?
Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Remplissage automatique?

Re,

modifie comme suit :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 5 Then
    Range("A" & Target.Row).Resize(1, 4).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
End If
End Sub

si x dans cellule alors jaune, toute autre valeur, même rien, aucun remplissage....
 

nilssous

XLDnaute Nouveau
Re : Remplissage automatique?

Nickel !! Le jaune disparait bien.
j'essaye d'adapter ta formule pour

des "x" dans la colonne K qui rempliraient en jaune les cellules G, H, I, J

et des "x" dans la colonne Q qui rempliraient en jaune les cellules M, N, O, P

J'ai copié une deuxième fois ta formule dans vba:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 5 Then
    Range("A" & Target.Row).Resize(1, 4).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
End If
End Sub

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 11 Then
    Range("A" & Target.Row).Resize(6, 10).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
End If
End Sub

Mais comme ce doit être évident pour toi... ça ne marche pas...
Si t'en as marre de m'aider je comprendrais...
Merci encore.
 

Softmama

XLDnaute Accro
Re : Remplissage automatique?

Bonjour nilssous, Salutations à Tibo et Pierrot93,

Tu ne peux coller 2 codes pour le même évènement dans 2 procédures: tu dois les mettre dans la même :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 then
  Select Case Target.Column
   Case 5 'Modif de la colonne E -> Colonnes A à D en Jaune
    Range("A" & Target.Row).Resize(1, 4).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
   Case 11 'Modif de la colonne K -> Colonnes F à J en Jaune
    Range("F" & Target.Row).Resize(1, 4).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
   Case 17 'Modif de la colonne Q -> Colonnes M à P en Jaune
    Range("M" & Target.Row).Resize(1, 4).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
  End Select
End If
End Sub

Je te laisse tester, mais bon l'avantage de la solution de Tibo, c'est qu'elle faisait la même chose, sans une ligne de code.
 

nilssous

XLDnaute Nouveau
Re : Remplissage automatique?

Bon ben ça fonctionne! c'est quand même compliqué le language macro, un espace, une majuscule ratés et c'est planté !!
Il doit falloir s'en servir tous les jours ou au boulot pour être aussi performant !!!
Merci à toi Softmama.
 

Pierrot93

XLDnaute Barbatruc
Re : Remplissage automatique?

Re,

pour colonnes K et Q :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And (Target.Column = 11 Or Target.Column = 17) Then
    Target.Offset(0, -4).Resize(1, 4).Interior.ColorIndex = IIf(Target = "x", 6, xlNone)
End If
End Sub
 

Discussions similaires

Réponses
2
Affichages
305
Réponses
22
Affichages
2 K

Statistiques des forums

Discussions
312 469
Messages
2 088 697
Membres
103 924
dernier inscrit
Patrick c