> Tous les forums > Forum Bureautique
 Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changementSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Cecilia2
  Posté le 01/10/2014 @ 09:21 
Aller en bas de la page 
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é
Yaloo
 Posté le 02/10/2014 à 00:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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
Cecilia2
 Posté le 02/10/2014 à 13:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Cecilia2
 Posté le 02/10/2014 à 21:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Yaloo
 Posté le 02/10/2014 à 22:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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.

Fichier mise en forme

A+

Martial

Cecilia2
 Posté le 02/10/2014 à 23:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Cecilia2
 Posté le 03/10/2014 à 13:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Yaloo
 Posté le 03/10/2014 à 22:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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.

Cecilia2
 Posté le 06/10/2014 à 09:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour,

Merci, ça fonctionne très bien.

Excellente journée.

Cécilia

Publicité
Cecilia2
 Posté le 08/10/2014 à 10:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Yaloo
 Posté le 08/10/2014 à 11:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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
Cecilia2
 Posté le 08/10/2014 à 11:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Yaloo
 Posté le 08/10/2014 à 13:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re,

Pourrais-tu mettre un fichier ou une image ?

Merci

Cecilia2
 Posté le 08/10/2014 à 14:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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

Yaloo
 Posté le 08/10/2014 à 14:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
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+

Cecilia2
 Posté le 08/10/2014 à 15:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Re,

Encore un grand merci, c'est parfait.

Cécilia

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Excel 2007 ligne en couleur à chaque changement d'abréviation
besoin d'une macro excel 2007
[Excel 2007] Macro : Sélection d'un tableau selon sa longueur variable
excel 2007 macro mise en page, quadrillage, filtre
incrémenter un N° de cellule à chaque ouverture du fichier Excel
Comment verrouiller une cellule Excel 2007
macro sous excel 2007
(Macro) Copier onglet sur autre fichier Excel (2007)
(Macro Excel) Sélectionner cellule en fonction de sa couleur
Probleme excel - tri dans macro Excel 2007
Plus de sujets relatifs à Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changement
 > Tous les forums > Forum Bureautique