Couleur une ligne sur deux

C

Christophe

Guest
Bonsoir,

Pour améliorer la lisibilité d'un document, je souhaite griser une ligne sur deux: pour ce faire je peux utiliser la mise en forme conditionnelle avec la formule =MOD(LIGNE();2)=0.
Je suis par ailleurs amené sur ce document à utiliser fréquemment les opérations copier/coller, ou glisser/déplacer : dans ces cas, l'alternance des couleurs n'est plus respectée (à moins de passer par collage spécial et de ne pas coller le format, mais en l'occurence je veux également coller les bordures de mes cellules).

Ma question est la uivante : est-il possible de figer la couleur de chaque ligne, de sorte que la couleur de fond reste indépendante des manipulations ultérieures des formats de cellule ? ou peut-on utiliser une macro qui rétablirait à tout moment les couleurs d'origine our l'ensemble des lignes concernées ?

Merci d'avance.
Christophe
 
M

Moa

Guest
Salut Christophe !

Une macro trouvée sur le net, que j'avais mise dans un coin :

Colorier une ligne sur deux même lorsqu'un filtre est affiché ou que des lignes sont masquées.Sub CouleurLignes()

Dim Ind As Boolean, Ligne As Range
Cells.Interior.ColorIndex = xlNone
For Each Ligne In
ActiveWorkbook.ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Rows
If Ind = True Then
Ligne.Interior.ColorIndex = 6
End If
Ind = Not Ind
Next Ligne
End Sub
 
E

Evelynetfrancois

Guest
bonjour Christophe bonjour Moa

une solution qui fonctionne tres bien
est de rajouter une condition a celle que tu a deja =MOD(LIGNE();2)=0
2° condition =MOD(LIGNE();2)<>0

1er cond format bleu (par exemple)
2° cond format jaune (par exemple)
effet garantit malgre sup , rajout ,etc....

je n'ai pas teste la macro de Moa , cela dit je ne doute pas de son efficacite
a pLus
tiens ns au courant lol

Evelynetfrancois
 
J

JB

Guest
- Salut Christophe, Moa et Evelynetfrançois,

j'avais le même problême que Christophe mais je n'avais jamais pensé à utiliser une macro.
J'ai testé celle de Moa et elle marche du tonnerre.
Merci,
A+
JB
 
C

Christophe

Guest
Bonjour à tous,
Merci de votre aide.
L'idée des 2 conditions est OK, elle fonctionne bien mai dans la mesure où je vais avoir besoin d'utiliser à nouveau la mise en forme conditionnelle pour pouvoir gérer notamment les bordures des différentes cellules (enfin si j'arrive enfin à trouver le moyen de définir des formats conditionnels avec bordures épaisses et diagonales... c'est une autre paire de manches !!). Au final la gestion de la MEFC risque d'être bien lourde.

La macro de Moa marche très bien, merci beaucoup.
Je voudrais maintenant l'améliorer un peu, en ne l'appliquant qu'aux lignes 12à39: en dépit de mon ignorance abyssale en matière de vba, je pense qu'il faut intervenir au niveau du "range". C'est ce que je vais essayer de faire... Merci à qui pourra néanmoins me venir en aide.

A l'attention d'Hervé, pour que la macro fonctionne il faut supprimer le retour à la ligne après "for Each Ligne in ". Après cette manip, tout est OK.

Sur ce, à+.
Christophe
 
C

Christophe

Guest
Chris, merci pour ta réponse rapide et ton info.

En fait, j'y étais arrivé en ajoutant simplement les lignes concernées ("11;39") en fin de ligne, après "Rows".
Et c'est tout-à-fait involontaire, mais ça a l'avantage de ne s'appliquer qu'aux colonnes de travail, au lieu de colorer les lignes sur les 256 colonnes de la feuille de calcul.
Merci quand même, et à bientôt probablement car j'ai encore quelques milliers de questions à poser...
à+
Christophe
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 396
Membres
102 882
dernier inscrit
Sultan94