Macro afin de colorier selon un critere des lignes

Tohane

XLDnaute Nouveau
Bonjour,

J'ai une feuille comprenant 120 lignes de donnée, le probleme est que ce nombre peut evoluer.
Je souhaiterais qu'a chaque ouverture du fichier une macro colore une ligne sur 2 dans une couleur que je donne (correspondant à la charte graphique de mon entreprise).
De plus, je souhaiterais que cela se passe aussi lorsqu'on filtre.

Pour resumé, il faudrait que cela prenne le nombre de ligne rempli en premiere critere et que cela s'active à chaque filtrage et à chaque ouverture du fichier.

Merci.
 

jeanpierre

Nous a quitté
Repose en paix
Re : Macro afin de colorier selon un critere des lignes

Bonjour Tohane, le forum,

Tu selectionnes toutes tes lignes (la plage en fait) et dans :

Format/Mise en forme conditionelle, tu choisis la Formule est et tu colles ceci :

=mod(ligne();2)=0 et dans Motif, le choix de ta couleur.

Bon après-midi.

Jean-Pierre
 

Staple1600

XLDnaute Barbatruc
Re : Macro afin de colorier selon un critere des lignes

Bonour à tous


Une macro (reste le problème du filtre)
Code:
Sub Couleur_une_sur_deux()
'ici zone concernée la colonne A
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
c.Interior.ColorIndex = _
IIf(c.Row Mod 2, 32, xlNone)
Next
'ici 32 correspond à la couleur choisie
End Sub
Voici une petite macro pour la liste des index des couleurs
Code:
Sub liste_couleur()
For i = 1 To 56
Cells(i, 1).Interior.ColorIndex = i
Cells(i, 2) = i
Next
End Sub
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Macro afin de colorier selon un critere des lignes

Bonjour Tohane, JP, Jean-Marie

Voici un exemple sur l'évènement Workbook_open et une macro par clic sur un bouton.

Par contre, je ne sais pas faire si le filtre automatique change (Pas trouvé dans les évènements, si quelqu'un est en mesure de le faire, ce serait super).
 

Pièces jointes

  • Colorie_1_lig_sur_2_filtre.xls
    23.5 KB · Affichages: 108

MJ13

XLDnaute Barbatruc
Re : Macro afin de colorier selon un critere des lignes

Bonjour à tous

Galère pour trouver filterevent.
Sur Developpez.net, Tirex28, que je remerice a fait un fichier très intéressant sur la détection du filtre (avec la participation de MichelXLD, Wilfried ...)
J'avoue que pour moi, cela me dépasse un peu.

Voici le fichier adapté à notre problèmatqiue initiale de Tohane.
 

Pièces jointes

  • Colorie_1_lig_sur_2_filtre_MJ_Tirex28.zip
    27.1 KB · Affichages: 51
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Macro afin de colorier selon un critere des lignes

Bonjour à tous

Hier je vous ai livré une solution issu du travail de Tirex28.

Mais je trouvais cela un peu compliqué (pour moi).

J'ai donc trouvé 2 liens sur le net
En premier celui ci:
Excel Trapping Autofilter event

La cela a fait Tilt. Je vous donne donc la solution simple dans le fichier joint.

Puis en regardant de plus près, il y avait dans mon fichier précédent une référence à ce post de MichelXLD:

Peut-on détecter le changement de critère d'un autofilter ? - Forum des développeurs

Et la je me suis dit: Ah, mais c'est ça, il faut toujours lire les réponses aux questions et faire confiance à Michel (XLD bien sur).
Michel si tu me lis, merci (et Tirex aussi).
 

Pièces jointes

  • Colorie_1_lig_sur_2_filtre_MJ_LA_SOLUTION_SIMPLE.xls
    34 KB · Affichages: 110
Dernière édition:

Tohane

XLDnaute Nouveau
Re : Macro afin de colorier selon un critere des lignes

ah je vais regarder ta nouvelle solution "simple", parce que j'avoue que j'ai passé 1h tout à l'heure à comprendre comment cela fonctionnait et j'avoue que je n'ai pas compri grand chose !
 

Tohane

XLDnaute Nouveau
Re : Macro afin de colorier selon un critere des lignes

L'autre macro etait plus complexe mais avait le grand avantage de contenir certaines explications !!!!
Je suis nul on peut le dire en codage macro ms je comprend pas tres bien la macro.
J'ai essayé de la transferer vers mon fichier or ca ne marche pas bien avec mon filtre, de ce fait, j'aurais besoin de quelques informations supplementaires:
- Comment transferer cette macro sur mon fichier?
- Marcheras t elle avec une 20aine de colonnes filtrées ou dois je rajouter quelque chose ?

Merci encore !
 

Tohane

XLDnaute Nouveau
Re : Macro afin de colorier selon un critere des lignes

Je m'autoreponds ! j'ai reussi à la faire passer sur ma feuille et tout marche bien (meme les couleurs ! ) SAUF l'automatisme, en effet mnt il faut que j'appuie sur le bouton pour que cela le fasse !
 

Tohane

XLDnaute Nouveau
Re : Macro afin de colorier selon un critere des lignes

Oui en case B1 mais à quoi cela sert en fait ?
Pour info : cela me le fait automatiquement quand j'enregistre le fichier ou que j'appuie sur F9 alors que je ne suis pas en calcul manuel !

EDIT : bon oubliez ce que j'ai ecrit mdr en fait j'etais en manuel, j'avais oublié ! bon alors mon soucis est autre maintenant cela me change bien les couleurs automatiquement ms par contre cela m'envoi tt à droite de ma feuille, je voudrais bien que cela ne me bouge pa ...
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Macro afin de colorier selon un critere des lignes

Re Bonjour

Remplace la macro par celle ci:
Code:
Sub colorie_1_lig_sur_2()
'MJ le 01/10/2008 pour [URL]https://www.excel-downloads.com/threads/macro-afin-de-colorier-selon-un-critere-des-lignes.104577/[/URL]
adresse = ActiveCell.Address
Cells(1, 1).Select
Cells.Select
    Selection.Interior.ColorIndex = 2
indice = 0
compteur = 0
ActiveCell.SpecialCells(xlLastCell).Select
nl = ActiveCell.Rows.Row
    Range("A1").Select
    For n = 1 To nl
If Cells(n, 1).RowHeight = 0 Then aa = 1 Else indice = indice + 1: compteur = compteur + 1: If indice > 1 Then Rows(n & ":" & n).Interior.ColorIndex = 6: If indice = 2 Then indice = 0
    Next
    Cells(1, 5).Value = compteur - 1
    Application.Goto Reference:=Range(adresse)
 
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL