> 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

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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
168,99 €SSD Crucial MX500 2 To à 168,99 €
Valable jusqu'au 25 Mai

Amazon propose actuellement le SSD Crucial MX500 2 To à 168,99 € livré gratuitement. On le trouve ailleurs à partir de 190 €. Ce SSD salué par la critique par son rapport qualité prix imbattable offre des débits de 560 Mo/s en lecture et 510 Mo/s en écriture. Il est garanti 5 ans. Une bonne affaire.


> Voir l'offre
549,99 €Portable Acer Aspire (14 pouces, Core i5 , 8 Go RAM, SSD 512 Go, Windows 11) à 549,99 €
Valable jusqu'au 26 Mai

Darty propose actuellement l'ordinateur portable 14 pouces Acer Aspire A514-54-56SR à 549,99 € alors qu'on le trouve ailleurs à partir de 699,99 €. Cet ultraportable est équipé d'un processeur Intel Core i5-1135G7, 8 Go de RAM, un SSD de 512 Go. Sa dalle de 14 pouces est Full HD et mate. Ce PC dispose de toutes les dernières connectiques indispensables : 1x USB 2.0, 2 x USB 3.1 Gen 1 (dont 1 fonction charge même ordinateur éteint), 1 x USB Type-C, WiFi 6, bluetooth 5. Le tout tourne sous Windows 11.

Une bonne affaire pour PC léger à l'aise partout : multimédia, bureautique, Internet.


> Voir l'offre
199,99 €Ecran ultra large LG 29 pouces (2560x1080px, IPS, 75 Hz, FreeSync) à 199,99 €
Valable jusqu'au 25 Mai

Amazon propose actuellement l'écran 29 pouces LG 29WN600-W à 199,99 € alors qu'on le trouve à partir de 240 € ailleurs. Cet écran ultra large est au format 21/9 et offre une résolution de 2560 x 1080 pixels avec une dalle IPS compatible FreeSync. Avec lui, vous pourrez bénéficier d'une plus grande immersion dans les jeux et les films.


> Voir l'offre

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