Excel - tri et mise en forme

Résolu/Fermé
cleli@ - 25 mars 2008 à 07:24
 Utilisateur anonyme - 25 mars 2008 à 09:56
Bonjour,

J'ai un fichier excel comprenant une liste de vocabulaire. Pour faciliter la lecture, j'ai mis une ligne sur deux en jaune. Comment faire pour qu'après le mélange des données, les lignes soit toujours une sur deux en jaune ? Est-ce possible (sans utiliser l'outil "copier la mise en forme") ?

Merci de votre aide.
A voir également:

1 réponse

Utilisateur anonyme
25 mars 2008 à 08:23
Bonjour,

juste une idée :
créer une macro qui après le tri recrée les fond de ligne en alternance.
0
Bonjour,

merci pour l'idée, mais le problème c'est que je ne sais pas créer une macro... Je vais quand même voir si j'arrive à quelque chose... Y aurait-il cependant une autre solution ?
0
CLABEN1 Messages postés 3 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 25 mars 2008 > cleli@
25 mars 2008 à 09:29
Bonjour,

... voici peut être une solution:

pour l'exemple: tu te positionnes en B2 - puis menu Format - Mise en forme conditionnelle - Dans Condition1, tu choisis "la formule est" et en face du tape =MOD(LIGNE()-2;2*1)+1<=1 tu appliques un Format - exemple fond Jaune, tu confirmes ok.
Ensuite tu reproduit cette mise en forme avec le "pinceau" - bouton "recopier la mise en forme" sur les cellules souhaitées.

Est-ce ok?
0
cleli@ > CLABEN1 Messages postés 3 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 25 mars 2008
25 mars 2008 à 09:51
Bonjour,

Merci beaucoup. J'ai appliqué la condition que tu as proposée à toute la colonne en question en rajoutant juste un contrôle pour savoir si la cellule est vide ou non (inutile d'appliquer la mise en forme sur une cellule vide...). Du coup, tout fonctionne à merveille ! Et sans avoir besoin du "pinceau" ! Merci milles fois !!!!
0
Utilisateur anonyme > cleli@
25 mars 2008 à 09:56
avec une macro :

Sub coloriage()
'
' Macro1 Macro
' Macro enregistrée le 25/03/2008 par BWPTQ8
'

'
'une ligne sur deux en jaune tant que la colonne A contient quelquechose
i = 1
While (Range("A" & i) <> "")
Rows(CStr(i) + ":" + CStr(i)).Select
With Selection.Interior
.ColorIndex = 36
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
i = i + 1
Rows(CStr(i) + ":" + CStr(i)).Select
With Selection.Interior
.ColorIndex = 2
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
i = i + 1
Wend
End Sub
0