| ||||||||
Petite astucienne | Bonjour, Ci-joint le tabbeau avec une macro existante dans lequel je souhaiterai rajouter un tri en colonne E + à chaque changement des 2 premières lettres une couleur de remplissage. http://cjoint.com/data/0JbjnGM5Q9N_recuperation_automatique1_octobre_2014.xlsm Merci par avance Cécilia | |||||||
Publicité | ||||||||
| ||||||||
Petit astucien | Bonsoir Cécilia, Pour faire le tri sur ta colonne E, tu rajoutes cette ligne avant la fin de ta macro : [A1].CurrentRegion.Sort [E1], xlAscending, , , , , , xlYes Pour les couleurs, tu mets 2 mises en forme conditionnelle sur la colonne E (avec =$E:$E dans la zone "s'applique à") : =E1="" --> avec la couleur standard et tu coches "Interrompre si vrai" =GAUCHE(E1;2)=GAUCHE(E2;2) --> avec la couleur que tu souhaites, jaune dans ton exemple. A te relire Martial Modifié par Yaloo le 02/10/2014 00:11 | |||||||
Petite astucienne | Bonjour Martial, Merci, pour la macro ça fonctionne, par contre, pour la mise en conditionnelle je n'ai pas réussi, je vais essayer de nouveau. Bonne journée | |||||||
Petite astucienne | Bonsoir Martial, La mise en forme conditionnelle ne fonctionne pas à chaque changement des 2 premières lettres. http://cjoint.com/?3JcvuuBuOeU Bonne soirée Cécilia | |||||||
Petit astucien | Bonsoir Cécilia, 2 Choses par rapport à ton dernier fichier: - Il faut inverser tes 2 conditions - Pour le format de la =E1="" il faut mettre "Aucune couleur" et non la couleur jaune. A+ Martial
| |||||||
Petite astucienne | Bonsoir, J'ai inversé les règles + aucune couleur pour =E1="" , 3 cellules ne fonctionnent toujours pas. http://cjoint.com/?3JcxxzFw0HM Cécilia | |||||||
Petite astucienne | Bonjour, Ci-joint le fichier d'origine, la mise en forme conditionnelle de la colonne E ne fonctionne toujours pas et je ne trouve pas mon erreur. N'est-il pas possible de l'intégrer à la macro ? http://cjoint.com/?3JdnVUkwc8J Merci par avance. Cécilia | |||||||
Petit astucien | Bonsoir Cécilia, En ajoutant ces quelques lignes de code à la fin de ta macro (après la ligne de tri), ça doit fonctionner. t = [E65536].End(3).Row Range("E2:E" & t).Interior.ColorIndex = 27 For c = 2 To t - 1 If Left(Cells(c, 5), 2) = Left(Cells(c + 1, 5), 2) Then Cells(c + 1, 5).Interior.ColorIndex = xlNone End If Next Bonne soirée Martial PS : Bien sûr, il faut enlever les mises en forme conditionnelle. | |||||||
Petite astucienne | Bonjour, Merci, ça fonctionne très bien. Excellente journée. Cécilia | |||||||
Petite astucienne | Bonsoir Martial, Dans la macro suivante je souhaite la police en blanc et le fond noir. Range("E2:E" & t).Interior.ColorIndex = 27, pour cette ligne je pense qu'il faut que je mettre 1 à la place de 27 Commment faire pour la police et la placer à qu'elle endroit ?
t = [E65536].End(3).Row Range("E2:E" & t).Interior.ColorIndex = 27 For c = 2 To t - 1 If Left(Cells(c, 5), 2) = Left(Cells(c + 1, 5), 2) Then Cells(c + 1, 5).Interior.ColorIndex = xlNone End If Next Bonne journée | |||||||
Petit astucien | Bonjour Cécilia, Si à la place du jaune, tu souhaites mettre la police en blanc sur fond noir, essaies comme ça :
t = [E65536].End(3).Row Range("E2:E" & t).Interior.ColorIndex = 1 Range("E2:E" & t).Font.ColorIndex = 2 For c = 2 To t - 1 If Left(Cells(c, 5), 2) = Left(Cells(c + 1, 5), 2) Then Cells(c + 1, 5).Interior.ColorIndex = xlNone Cells(c + 1, 5).Font.ColorIndex = 1 End If Next
A+ Martial Modifié par Yaloo le 08/10/2014 13:45 | |||||||
Petite astucienne | Bonjour, Non c'est pas bon : Avant un tri en colonne E + à chaque changement des 2 premières lettres une couleur de remplissage La modif que je souhaite à chaque changement des 2 premières lettres une couleur de remplissage noir + police en blanc car celle que tu me proposes agit sur la colonne entière. Cécilia | |||||||
Petit astucien | Re, Pourrais-tu mettre un fichier ou une image ? Merci | |||||||
Petite astucienne | Bonjour Martial, J'ai changé, Colonne E, à chaque changement des 2 premières lettres je souhaite que la ligne entière soit en grise http://cjoint.com/?3JioFfOa9LO Merci par avance Cécilia
| |||||||
Petit astucien | Re, Avec ceci alors : Sub couleur() Dim t&, c& t = [E65536].End(3).Row Range("A2:R" & t).Interior.ColorIndex = 14 For c = 2 To t - 1 If Left(Cells(c, 5), 2) = Left(Cells(c + 1, 5), 2) Then Cells(c + 1, 1).Resize(, 18).Interior.ColorIndex = xlNone End If Next End Sub A+ | |||||||
Petite astucienne | Re, Encore un grand merci, c'est parfait. Cécilia | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|