Colorer un plusieurs mots dans une cellule

Bonjour à tous,

Je souhaites colorer un ou plusieurs mots dans les cellule des colonnes H et AD en fonction de leur valeur avec différentes couleurs.

Fichier joint

Merci de votre aide

Jean Pierre

exemple couleur specifiques

Salut Jean-Pierre,

Dans le fichier ci-joint, la macro placée derrière le bouton en place en C1 devrait faire ce que tu souhaites.

J’ai un peu modifié les couleurs afin de me simplifier la tâche, mais si c’est important, je peux modifier un peu mon code afin d’utiliser exactement les couleurs que tu souhaites.

Si en revanche ce n’est pas important, je te conseillerai de prendre deux autres couleurs à la place de ce vert et ce gris qui sont peu visibles.

Cordialement.

Je me suis rendu compte d'un petit problème : si la même référence est présente plus de deux fois dans la même cellule, mon code n'en tient pas compte.

Voici un code corrigé.

Bonjour Yvouille,

Je te remercie de tes réponses concernant ma demande.

J'ai testé , mais hélas , le resultat est partiel avec une erreur de code , je te joint les copies écrans

Cordialement

Jean Pierre

copie ecran v2 manque h351 et h350 en rouge copie ecran v2

Bonjour Jean-Pierre,

Je te propose ce fichier Excel :

Ctrl c ➯ mise en couleur

Ctrl n ➯ mise en noir

Bien sûr, tu peux aussi utiliser tes 2 boutons.


En H1, il y a un espace en trop au bout de la 4ème ligne, juste après "H334" ! c'est mieux de l'éviter ! j'ai laissé cet espace uniquement pour te montrer que mon code VBA est adapté à de tels cas (je n'ai pas vérifié s'il y a d'autres cas de ce genre ; à toi de voir ça ! ).

Si besoin, tu peux demander une adaptation.

Merci de me donner ton avis.

dhany

Merci de ton aide DHanny,

Effectivement c'est le resultat recherché, super

Peux m’insérer la macros que tu viens de créer dans la macros globale jointe "Fred" et la rendre fonctionnelle avec le fichier de base joint .

merci de ton aide

je te joint le fichier de base avant le lancement de la macro "fred" et la marcro en question

Jean Pierre

20fred.txt (9.00 Ko)

Je te retourne tes 2 fichiers modifiés :

22fred.txt (10.18 Ko)

À l'ouverture du fichier Excel, tu es sur la 2ème feuille "Data", et tu peux voir la colonne AD ; Ctrl c ➯ mise en couleur ; Ctrl n ➯ mise en noir ; dans les 2 cas, ça applique aussi pour la colonne H (même si tu ne la vois pas).

Fais en sorte de voir la colonne H ; Ctrl c ➯ mise en couleur ; Ctrl n ➯ mise en noir ; dans les 2 cas, ça applique aussi pour la colonne AD (même si tu ne la vois pas).

Bien sûr : les couleurs appliquées sont celles de la 1ère feuille "Colors", et si tu fais Ctrl c ou Ctrl n sur cette feuille, ça ne fait rien du tout (sécurité).


⚠ Dans ton exercice initial, toutes les valeurs étaient séparées par un espace ; dans ton vrai fichier : en colonne H, le séparateur est une virgule ; en colonne AD, c'est mixte : le séparateur est parfois un espace et parfois une virgule ; j'ai donc adapté mon code VBA initial en conséquence.

⚠ En AD6, tu as même 2 valeurs qui sont séparées par une double virgule !!! c'est : H332,,H302 ; tu as pu voir que mon code VBA marche même avec une pareille anomalie ; je te laisse corriger, et essaye de faire des saisies plus rigoureuses !


Si tu as besoin d'une autre adaptation, tu peux demander.

Merci de me donner ton avis.

dhany

Salut Jean-Pierre,

C’est vraiment surprenant que mon code ne fonctionne pas chez toi car tu penses bien que je l’avais testé avant de te l’envoyer et il fonctionne très bien ici.

capture

Tu avais attendu plus de 48 heures afin que quelqu’un te réponde et je pense que tu aurais pu attendre ce soir afin que je traite ton problème comme tu me l’as demandé. Mais dhany, qui est très très fort, a pensé que c’était bien de venir à ma rescousse. Je lui ai déjà dit que c’est dommage qu’il n’aide pas plutôt d’autres membres restés complètement en rade

Cordialement.

Yvouille,

Dans tous les cas , ton aide à été précieuse, et je suis certain que ta solution est fonctionnelle , mais le mode de fonctionnement du forum permets plusieurs réponses , pour un même sujet , au final que doit on faire ?

Je te remercie de ton aide .

Jean pierre

Dhany,

Merci pour les fichiers , je reviens vers toi demain , je pourrais tester au calme

Bonne soirée

Jean Pierre

Dhany,

La macros fonctionne sur ton fichier de retour parfait !

Pratiquement le ou les fichiers sources à modifier sont toujours sous la meme structure mais avec des données différentes, ils sont générés depuis une application tierce Internet .

Ceci explique parfois selon les données récupérées des double virgule ,,

Pour un besoin de mise en forme impératif , une macros générale à été crée "Fred"

Ta macros couleur fonctionne sur le fichier de retour , mais pas sur mes fichiers que je génère depuis mon application tierce, car le tableau sur la feuille "Colors" n'est pas présent pour alimenter les valeurs de traitement des couleurs .

Je te joint un autre fichier uploader depuis mon appli Internet et la macros utilisée pour la mise en forme

Merci de ton aide

jean Pierre

Bonjour Jean-Pierre,

Voici d'abord les 2 fichiers Excel :

22colors-danger.xlsm (29.90 Ko)

Et voici la procédure à suivre (en 5 étapes) :

1) Ouvre d'abord le 1er fichier "Colors danger.xlsm" ; il y a une seule feuille, nommée "Colors", que tu connais déjà ; ce classeur contient mon code VBA, légèrement modifié (mais ne t'en occupe pas pour l'instant : tu auras tout le temps de le voir plus tard).

2) Sans fermer le 1er classeur déjà ouvert, fais Ctrl o pour ouvrir le 2ème fichier "Fichier_Excel_2018-19 mars.xlsx" ; voici une très bonne nouvelle : je n'ai fait aucun changement dans ce fichier ! il est exactement tel que ton application tierce Internet l'a généré !

3) Sur l'unique feuille nommée "Data", tu peux voir la colonne H ; fais maintenant Alt F8 ; tu dois avoir ceci :

fenetre macro

Tu peux voir les 2 macros Couleurs et Remise_à_zéro ; note bien que la 1ère macro est déjà sélectionnée ! et comme le bouton actif est le bouton "Exécuter", tu as juste à appuyer sur la touche Entrée pour lancer la macro Couleurs ➯ tu peux voir la vie en rose !

4) Fais de nouveau Alt F8 ➯ même fenêtre précédente ; appuie successivement sur les touches Tab ↓ Entrée ; santé !

5) Pour faire la même chose sur un autre fichier de données : Ctrl s pour sauvegarder d'abord le classeur actuel ; Ctrl w pour le fermer ; et devine la suite... oui, bravo ! tu as gagné !!! sans fermer le 1er classeur déjà ouvert, fais de nouveau Ctrl o pour ouvrir un autre fichier de données (de même structure).


alors, c'est ok ? ça te va ? (si tu veux rajouter les raccourcis claviers Ctrl c et Ctrl n, c'est à faire dans chaque fichier de données)

remarque : j'me suis pas du tout occupé du fichier "Fred 19 03 2018.txt" (j'te laisse l'utiliser comme d'hab).

à te lire pour avoir ton avis.

dhany

Dhany,

C'est parfait ça fonctionne parfaitement

Question : l'ouverture préalable du fichier "Colors danger" est incontournable pour le fonctionnement car ils stocke les paramètres des couleurs .

Une solution qui éviterai de faire appel à ce dernier est elle envisageable ?

Cordialement

Jean Pierre

Tu a écrit :

Question : l'ouverture préalable du fichier "Colors danger" est incontournable pour le fonctionnement car ils stocke les paramètres des couleurs .

Une solution qui éviterai de faire appel à ce dernier est-elle envisageable ?

La réponse est dans ta 1ère phrase ! sans le fichier "Colors danger", où voudrais-tu donc mettre les paramètres des couleurs sans modifier un fichier de données ? et surtout, où donc voudrais-tu placer le code VBA des 2 macros, toujours sans modifier un fichier de données ? non, d'après moi, c'est incontournable ; et c'est une solution à la fois la plus souple et la plus simple !

J'vois qu'une seule petite amélioration possible : c'est d'faire en sorte que "Colors danger" s'ouvre automatiquement à chaque ouverture d'Excel... mais est-ce que ça te convient si tu dois travailler sur des classeurs Excel qui ne l'utilisent pas ?


remarque : à supposer que tu définisses le paramétrage des couleurs une fois pour toutes, donc que tu n'aies jamais plus besoin de le modifier ensuite, tu peux masquer la feuille "Colors" puis faire Alt F11 pour sauvegarder le fichier à partir de la fenêtre « Microsoft Visual Basic » : Ctrl s ; ou clic sur l'icône disquette.

bien sûr, il faudra quand même ouvrir le fichier "Colors danger" (automatiquement ou non), même si aucune feuille ne s'affiche ; l'avantage est que ce sera plus discret, surtout à la fermeture du fichier de données.

dhany

Dhany,

C'est incontournable donc

Peux on associer le lancement des 2 macros en une seule manip ? un seul raccourci clavier

1) Macro Fred

2) Macro Colors Danger

J'essaie de rendre l'utilisation au maximum simpliste pour les utilisateurs

Jean Pierre

Jean-Pierre,

Ta demande est tout à fait légitime et sensée ! bravo !!! j'suis entièrement d'accord avec toi qu'il faut rendre l'utilisation la plus simple possible pour les utilisateurs ! voici donc la nouvelle version, avec une seule macro :

25colors-danger.xlsm (30.20 Ko)

y'a plus qu'à mettre un raccourci clavier unique dans l'fichier de données.

dhany

Dhany,

Je fonctionne toujours en deux temps

sur mon PC, tout marche correctement : c'est la même macro "Couleurs" qui met les couleurs, puis les enlève ; peux-tu me confirmer si tout est ok de ton côté ? sauf si tu as autre chose à demander, merci de passer le sujet en résolu.

dhany

Bonjour Dhany,

Avec cette méthode , cela fonctionne parfaitement

Une idée à te soumettre :

Si les données du tableau des correspondance couleur , venais directement depuis le fichier importé de l'application internet , cela pourrais t'il simplifier la procédure ?

Merci de ton aide

Bonjour Jean-Pierre,

Merci d'avoir confirmé que ça fonctionne parfaitement !

Pour répondre à ta question : si le tableau de correspondance des couleurs est identique pour chaque fichier importé, c'est mieux de laisser comme c'est : ça prend moins de place sur le disque dur (et aussi en RAM = mémoire vive) ! imagine que tu importes 1 000 fichiers : au lieu de 1 000 × le même tableau couleurs, il n'existe qu'une seule fois dans "Colors danger.xlsm" !

Par contre, si ce tableau couleur est différent d'un fichier importé à un autre, alors oui : ça vaut drôlement le coup ! car chaque fichier importé aura son propre tableau couleurs personnalisé ; et côté VBA, c'est déjà réglé par le fichier de mon message du 18/03 à 18:52 ; mais auquel il faudra ajouter la modif de réunion des 2 subs en une seule.

⚠ N'oublie pas non plus que même si tu mets le tableau couleur dans chaque fichier importé, il faudra quand même garder "Colors danger.xlsm" pour le code VBA des macros... (à moins de les transférer aussi dans chaque fichier importé ! ).

dhany

Rechercher des sujets similaires à "colorer mots"