> Tous les forums > Forum Bureautique
 Excel 2003 : changer couleur de cellules par macroSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
papymichel47
  Posté le 26/11/2020 @ 20:42 
Aller en bas de la page 
Petit astucien

Bonsoir,

je me suis fais un fichier contenant les adresses SPAM qui s'amoncellent sur plus d'une dizaine de mes adresses mail (chez plusieurs FAI).

Afin de les classer selon si elles ont été bloquées ou non chez ces FAI, j'ai utilisé diverses couleurs des cellules, ce qui me permet de voir ce qui est fait (blocage chez FAI) de ce qui reste à faire (j'attends toujours d'avoir au moins 2 ou 3 SPAM pour bloquer l'adresse et la mettre directement à la corbeille).

Lorsque le blocage a été fait sur le site du FAI, je supprime la couleur de la cellule, tout en conservant l'intitulé.

Mais, le nombre de ces adresses SPAM devenant très grand (plusieurs centaines), lorsque je veux supprimer une des couleurs, je suis obligé de le faire manuellement, en "décolorant" la cellule, puis en passant aux suivantes.

J'ai utilisé également la procédure de "Remplacer / Options / Format / Choisir le format à partir de la cellule", en choisissant la colonne.

Tout cela fonctionne correctement, mais .... à chaque changement de fichier Excel, et surtout d'une utilisation autre par "Remplacer", je me suis rendu compte qu'il fallait recommencer la mise en place de cette procédure.

Utilisant également les procédures de suppression de liens par colonne par des macros (ça c'est très simple), je me posais la question si c'était possible de préparer une macro (ou plusieurs, une par couleur à supprimer), qui ferait cela plus facilement que la procédure par la fonction "Remplacer", et qui ne se remet pas à zéro à chaque changement de travail sur d'autres fichiers. Car avec ma première tentative, cela a fonctionné, mais dès la fermeture du fichier, la macro semble patiner dans la choucroute, car la fonction "Remplacer" a perdu les conditions pour d'autres utilisations.

Ma macro actuelle est ici (faite par la fonction d'enregistrement automatique):

----------------------------

Sub Changer_couleur_violet()
'
' Changer_couleur_violet Macro
' Macro enregistrée le 23/11/2020

Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
End Sub

------------------------------

J'ai cherché sur le Net une solution, mais si je trouve des solutions pour changer la couleur de fond ou de la couleur de la police suivant certains critères , je ne trouve pas de solution pour REMPLACER une couler de fond de cellule.

Je pense qu'il doit falloir rechercher dans une "matrice de cellules" une couleur bien définie, et la changer par une autre couleur bien définie, et tout cela bien défini dans la macro.

Et là je sèche.

Alors, si quelqu'un sait faire et peut me proposer ce qu'il faut faire, MERCI d'avance

Cordialement, Michel



Modifié par papymichel47 le 26/11/2020 20:49
Publicité
Gabrilou
 Posté le 26/11/2020 à 23:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Je n'aurais pas fait une macro, mais plutôt une mise en forme conditionnelle

papymichel47
 Posté le 27/11/2020 à 00:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

merci pour cette première réponse.

Toutefois, malgré mes tests les uns derrière les autres, rien ne marche comme je souhaite. Mais peut-être que je m'y prends mal?

La mise en forme conditionnelle est crée par "Condition: la formule est :" je clique sur Format, je mets la case en violet, je clique sur OK Puis je vais dans Edition (je suis la procédure indiquée dans l'aide de Excel) / Atteindre / clic sur Cellules, puis sur Format conditionnel, puis sur OK (les deux solutions, "Toutes" et "identiques" ont été testées). Réponse: Pas de cellule correspondante. Donc résultat: néant.

Mais mon problème est surtout que, comme c'est une procédure que je dois effectuer très souvent, je souhaite avoir quelque chose qui reste en mémoire. Pas quelque chose de volatil, sinon, la solution par "Remplacer" irait très bien.

Mais merci quand même, je vais me pencher sur cette procédure qui, peut-être me servira un jour.

Cordialement, Michel

corinthien
 Posté le 27/11/2020 à 17:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir tlm, papymichel, un petit fichier exemple ?

papymichel47
 Posté le 27/11/2020 à 21:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

voilà le fichier demandé (en fait une petite partie de ce que je "gère", l'original fait plus de 500 lignes).

https://cjoint.com/c/JKBubLHbGGi

EN orange, les adresses qui sont déjà "blacklistées" directement sur le site du FAI.

Les autres couleurs sont pour les différents FAI.

Le violet (1ère colonne) est la couleur que j'utilise pour désigner les nouveautés AVANT de trier par lettre alphabétique sur la 2e colonne Domaine (c'est la copie 'Collage spécial/ Valeurs" pour être certain de ne rien modifier après coup, si je prends une cellule calculée).

Une fois le tri effectué, et les adresses en plusieurs exemplaires (reconnaissables en colonne F (Tests)) blacklistées, je supprime les doublons, en conservant un exemplaire ... au cas où.

D'autres détails à la demande.

Merci de vous intéresser à ma recherche

Michel

corinthien
 Posté le 28/11/2020 à 11:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour tlm, macro un peu modifiée pour te mettre sur la voie : https://www.cjoint.com/c/JKCkWDoEyZ8

A+

papymichel47
 Posté le 28/11/2020 à 13:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Un grand merci!!

Cela semble fonctionner comme je le souhaite ... à condition que je remplace "xlNone" (après le Stop, que je pense supprimer si tout va bien) par "Blanc" définie comme RGB '255,255,255à. (sinon, je récupère du bleu "Turquoise clair").

Merci encore, je vais y travailler ce soir pour bien vérifier si tout fonctionne dans plusieurs "environnements" (avec divers fichiers excel ouverts).

Juste une petite question complémentaire: j'ai ajouté un bouton "Elément de menu personnalisé". Au début ça fonctionnait correctement, à savoir que cela ouvrait une fenêtre avec la liste des macros, mais après plusieurs tests, il n'y a plus de menu, la commande active directement la dernière macro, celle que tu as faite. Est-ce normal?

Michel



Modifié par papymichel47 le 28/11/2020 14:01
corinthien
 Posté le 28/11/2020 à 14:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

A voir, je n'ai pas touché au bouton, d'ailleurs, aucun bouton présent.

Dans quel menu l'avais-tu mis ?

Debrief
 Posté le 28/11/2020 à 14:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Pourquoi ne pas envoyer un fichier, fut-il limité juste pour le test, et une description précise des conditions de coloration des cellules ?

Ce serait réglé en moins de 5mn !

C'est fou ce jeu des devinettes auquel le forum doit se plier !

papymichel47
 Posté le 28/11/2020 à 15:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour corinthien: Dans Excel (2003), Outils/ Personnaliser/ Commandes/ Macros/ Elément de menu personnalisé. Je clique dessus, et en le tenant appuyé, je l'amène dans une des barres de menus, en haut de la fenêtre d'Excel. Comme toute personnalisation de menus (y compris dans d'autres logiciels).

Ce bouton, au départ, fonctionne très bien: inutile de rentrer dans les menus, on clique dessus et on a le menu des diverses macros. Mais après plusieurs tests en utilisant ce bouton, il n'y a plus de menu qui apparait, mais une exécution directe et immédiate de la dernière macro. SI je souhaite une autre macro, cela m'oblige à revenir dans les divers menus (Outils/ Macros/ Macros) ou bien faire F8. Mais il est possible que cela fonctionne ainsi?

Pour Debrief: le fichier a été mis à disposition hier soir. Je ne comprends pas ta question. Quant aux diverses couleurs, je pense avoir été assez clair et explicite sur ce sujet. Ou alors quelque' chose m'échappe.

Michel

corinthien
 Posté le 28/11/2020 à 15:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Versions différentes (2019), désolé voila ce que je trouve et qui affiche la boite de dialogue Macro



Modifié par corinthien le 28/11/2020 15:58
Debrief
 Posté le 28/11/2020 à 19:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pour Debrief: le fichier a été mis à disposition hier soir. Je ne comprends pas ta question. Quant aux diverses couleurs, je pense avoir été assez clair et explicite sur ce sujet. Ou alors quelque' chose m'échappe

Ok, excuse-moi, je ne l'ai pas vu en première lecture.

Je me retire donc de l'affaire et laisse corinthien te répondre.

corinthien
 Posté le 28/11/2020 à 20:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut Debrief, tu ne me déranges pas du tout, il y a plus d'idée dans deux têtes que dans une…

Tu es le bienvenu.

papymichel47
 Posté le 29/11/2020 à 20:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir à tous,

c'est fini, après quelques tatonements.

En fait, je n'avais pas donné le nom à la colonne à traiter. Mais je ne m'en rendais pas compte puisque ton fichier était aussi présent. et quand je le supprimais, que je n'avais que le mien (sans aucun autre fichier), ça bloquait.

Et puis j'ai vu les REM inscrites "au dessus" de la sub. C'est là que j'ai compris.

J'ai donné le nom correct à la colonne à traiter. J'ai tout enregistré, tout fermé, puis réouvert uniquement mon fichier (que j'avais un peu tagué en violet avant de le fermer), puis testé la macro. Pour Excel 2003, c'est dans "Insertion/ Nom / Définir".

Tout fonctionne à merveille.

Un très grand MERCI pour cette aide, qui me permet d'avancer doucement dans l'apprentissage des macros dans Excel (cela me rappelle le bon temps où je programmais en Basic et QuickBasic).

Je mets ma demande en Résolu!!

MERCI encore

Cordialement Michel



Modifié par papymichel47 le 29/11/2020 20:24
corinthien
 Posté le 29/11/2020 à 20:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

De rien papy. Bonne soirée.

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
50,99 €SSD SanDisk Ultra 3D 500 Go à 50,99 €
Valable jusqu'au 29 Novembre

Amazon fait une promotion sur le SSD SanDisk Ultra 3D d'une capacité de 500 Go qui passe à 50,99 € livré gratuitement. On le trouve ailleurs autour de 70 €. Une bonne affaire pour ce SSD performant qui offre des débits de 560 Mo/s en lecture et 530 Mo/s en écriture. Cette version est garantie 5 ans.


> Voir l'offre
999 €PC Portable 16.1' HP Victus (FHD, Core i5 11400H, 8Go/512Go,RTX 3600 6Go) à 999 €
Valable jusqu'au 29 Novembre

Leclerc fait une réduction sur le PC Portable 16.1' HP Victus 16-d0296nf  qui passe à 999 € au lieu de 12990 €. Il comporte un écran IPS Full HD de 16.1 pouces, un processeur Intel Core i5 11400H, 8 Go de RAM, un SSD de 512 Go, une carte graphique dédiée GeForce RTX 3600 Max-P 6 Go, un clavier rétro éclairé, une batterie charge rapide (autonomie 10h). Le tout tourne sous Windows 10 que vous pourrez passer à Windows 11. Une bonne affaire !


> Voir l'offre
78,99 €SSD externe portable USB 3.1 SanDisk Extreme 500 Go NVME (1050 Mo/s) à 78,99 €
Valable jusqu'au 29 Novembre

Amazon fait une promotion sur le SSD externe portable USB 3.1 SanDisk Extreme 500 Go NVME qui passe à 78,99 € alors qu'on le trouve à 118 € ailleurs. Le disque SSD SanDisk Extreme NVME Portable 1 To permet, grâce à sa connectique USB 3.1, des haute vitesse de transfert pouvant aller jusqu'à 1050 Mo/s grâce au disque NVMe qu'il contient. Sa coque robuste et certifiée IP55 (eau et poussière) protège vos données partout où vous allez. Vous ne craindrez pas de l'emporter partout avec vous grâce à sa conception robuste et résistante avec un coeur de SSD résistant aux chocs. Le logiciel SanDisk inclu SecureAccess peut crypter vos fichiers personnels. Garantie 5 ans. Interface : USB 3.1 Type A et C.


> Voir l'offre

Sujets relatifs
Changer nom de feuille attribué par excel
(Macro Excel) Sélectionner cellule en fonction de sa couleur
Excel 2003 nommer une zone de cellules non contigu
Couleur de lignes une sur deux excel 2003
EXCEL 2003 protection et fusion de cellules
Sous EXCEL 2002 - Tri des cellules par couleur
Interdire changer de feuille Excel 2003
Définir 1 plage de cellules dans 1 macro excel
Changer la couleur de police par défaut
Alignement par défaut cellules nouveau classeur Excel
Plus de sujets relatifs à Excel 2003 : changer couleur de cellules par macro
 > Tous les forums > Forum Bureautique