Couleurs aléatoires des lettres dans Word
m@rina Messages postés 23905 Date d'inscription Statut Contributeur Dernière intervention -
Salut à tous !
Tout d'abord, je dois vous dire, hélas, que je n'y connais rien en programmation
Ensuite, voilà la mission, si vous l'acceptez : je souhaiterais pouvoir cliquer sur un petit programme une fois WORD ouvert, pour que, lorsque je clique dessus, chaque lettre soit de manière aléatoire, d'une couleur différente, et que ces couleurs puissent être choisies auparavant dans un panel de couleurs sélectionnées, sinon, ça pourrait être atroce ; je pense que vous comprendrez pourquoi ; « de l'harmonie avant toute chose »...
J'imagine que la complication ne réside pas dans le programme lui même, mais de pouvoir l'intégrer à Word et de pouvoir en un clic l'actioner et en un clic l'arrêter.
Merci d'avance !
Philippe
Windows / Edge 138.0.0.0
- ###O
- Word 2013 - Télécharger - Traitement de texte
- Suivi des modifications word - Guide
- Tableau word - Guide
- Supprimer une page dans word - Guide
- Table des matières word - Guide
4 réponses
Bonsoir,
Regardez ici :
Et à titre d'info, ce n'est pas juste une co* ne rie ridicule et inutile
m@rina
Bonjour,
Pour répondre à votre demande, je vais créer un script VBA qui peut être intégré directement dans Microsoft Word. Ce script permettra de colorer chaque lettre d'un texte sélectionné avec une couleur aléatoire choisie parmi une liste prédéfinie de couleurs harmonieuses. Vous pourrez activer ou désactiver cette fonctionnalité via un bouton dans Word. Comme vous n'êtes pas familier avec la programmation, je vais inclure des instructions claires pour implémenter ce script.
Voici comment cela fonctionnera :
Vous définirez une liste de couleurs harmonieuses dans le code. Ici j'ai mis les couleurs primaires.
Un bouton dans Word déclenchera le script pour colorer chaque lettre du texte sélectionné.
Un autre bouton permettra de supprimer les couleurs pour revenir au texte normal.
Instructions pour intégrer ce script dans Word :
Ouvrir l'éditeur VBA dans Word :
Ouvrez Microsoft Word.
Appuyez sur Alt + F11 pour ouvrir l'éditeur VBA.
Dans l'explorateur de projets (à gauche), faites un clic droit sur "Normal" (ou votre document actif), puis sélectionnez Insérer > Module.
Ajouter le code :
Copiez le code ci-dessus (entre ` `)
Attribute VB_Name = "ColorLetters" Option Explicit ' Définir une liste de couleurs harmonieuses (codes RVB) Private Function GetColorPalette() As Collection Dim colors As New Collection ' Ajouter des couleurs harmonieuses (RVB) colors.Add Array(255, 0, 0) ' Rouge colors.Add Array(0, 128, 0) ' Vert colors.Add Array(0, 0, 255) ' Bleu colors.Add Array(255, 165, 0) ' Orange colors.Add Array(128, 0, 128) ' Violet colors.Add Array(0, 255, 255) ' Cyan Set GetColorPalette = colors End Function ' Fonction pour obtenir une couleur aléatoire Private Function GetRandomColor(colors As Collection) As Long Dim index As Integer Randomize index = Int((colors.Count * Rnd) + 1) Dim rgbArray As Variant rgbArray = colors(index) GetRandomColor = RGB(rgbArray(0), rgbArray(1), rgbArray(2)) End Function ' Macro pour colorer chaque lettre Sub ColorEachLetter() Dim sel As Selection Set sel = Selection Dim char As Range Dim colors As Collection Set colors = GetColorPalette ' Vérifier si du texte est sélectionné If sel.Type = wdSelectionNormal Then ' Parcourir chaque caractère dans la sélection For Each char In sel.Characters If char.Text <> vbCr And char.Text <> vbLf Then char.Font.Color = GetRandomColor(colors) End If Next char Else MsgBox "Veuillez sélectionner du texte avant d'exécuter la macro.", vbExclamation End If End Sub ' Macro pour supprimer les couleurs Sub RemoveColors() Dim sel As Selection Set sel = Selection ' Vérifier si du texte est sélectionné If sel.Type = wdSelectionNormal Then sel.Font.Color = wdColorAutomatic ' Remettre la couleur par défaut Else MsgBox "Veuillez sélectionner du texte avant d'exécuter la macro.", vbExclamation End If End Sub
Fermez l'éditeur VBA (Alt + Q).
Créer des boutons dans Word :
Allez dans l'onglet Développeur (si non visible, activez-le via Fichier > Options > Personnaliser le ruban > cochez Développeur).
Dans l'onglet Développeur, cliquez sur Macros, sélectionnez ColorEachLetter, puis cliquez sur Ajouter au ruban d'accès rapide. Répétez pour RemoveColors.
Vous aurez maintenant deux boutons dans la barre d'accès rapide (en haut de Word).
Utilisation :
Sélectionnez le texte que vous voulez colorer dans votre document Word.
Cliquez sur le bouton de la macro ColorEachLetter pour colorer chaque lettre avec une couleur aléatoire parmi la palette définie.
Pour supprimer les couleurs, sélectionnez le texte et cliquez sur le bouton RemoveColors.
Personnalisation des couleurs :
Si vous souhaitez modifier les couleurs, éditez la fonction GetColorPalette dans le code VBA. Les valeurs RVB (par exemple, Array(255, 0, 0) pour le rouge) peuvent être remplacées par d'autres combinaisons de votre choix. Par exemple, pour ajouter un rose pastel, vous pouvez ajouter colors.Add Array(255, 182, 193).
Sécurité : Lorsque vous ouvrez Word, il peut demander d'activer les macros. Cliquez sur Activer le contenu pour utiliser le script.
Harmonie des couleurs : La palette inclut des couleurs vives mais harmonieuses. Vous pouvez ajuster la liste dans GetColorPalette pour des tons plus doux (par exemple, pastels) si vous préférez.
Limitation : Ce script fonctionne sur le texte sélectionné. Si aucun texte n'est sélectionné, un message d'erreur vous invitera à en sélectionner.
Voilà, c'est impossible de faire plus simple.
Bonjour Bruno,
Tout d'abord, un grand merci et une énorme admiration ( j'avais d'ailleurs mis en objet à ma demande «Ô petits génies») car, oui, pour moi, celui qui pouvait faire cela et de manière finalement aussi «simple», est un petit ( voire un grand ) génie !
Ensuite, j'ai fait ce que vous m'avez dit... jusqu'à ce que je me retrouve bloqué à «Ajouter un ruban d'accès rapide». Outre que ma version est, hélas, en anglais, je n'ai pas trouvé le fameux bouton dans cette fenêtre qui propose cela.
Je n'ai que deux possibilitées :
1. menu déroulant en dessous qui propose :
macro in :
- all active templates and documents
- normal .dotm ( global template )
- word commands
- enveloppe ( document )
2. à droite, les boutons :
- run
- step into
- edit
- create
- delete
- organizer...
Je crois comprendre que tout ce qui se trouve dans 1. est la portée que l'on veut donner à ce programme ( soit pour le document, soit pour tous les documents, etc... ) et donc que ce n'est pas là que cela se joue ; j'ai ensuite joué les apprentis sorciers en cliquant sur toutes les possibilités de 2. pour essayer de trouver la solution... mais comme l'apprenti sorcier, je me suis retrouvé très vite avec des «balais incontrolables»... cependant, contrairement à lui, j'ai réussi à ne pas perdre mon sang froid en effaçant toutes les erreurs commises, puis après avoir réinstallé le programme, je me retrouve sagement à cette étape en attendant, si possible et si vous le voulez bien, me dire ce qu'il faut faire à présent, dans cette satané fenêtre où je suis bloqué...
D'avance un grand merci !
Goethe: Der Zauberlehrling Dukas: L'Apprenti sorcier Disney: The Sorcerer's Apprentice (1940)
Si le fichier provient d'un téléchargement ou est externe (disque dur, autre PC), clic droit sur le fichier, il y a alors un message avec une coche ce fichier provient d'un autre ordinateur, débloquer.
Enregistrer éventuellement le fichier sous document word prenant en charge les macros docm.
Si cela ne suffit pas et dans le même menu que précédemment, vérifier que le mode protégé n'est pas activé pour les emplacements potentiellement dangereux si le fichier n'est pas dans un emplacement approuvé.
Dans les paramètres de blocage, vérifier que modèles et documents Word 2007 n'est pas coché.
Que les documents approuvés ne sont pas cochés désactiver hors réseau.
On peut toujours si rien ne fonctionne, mais c'est bien sûr potentiellement dangereux en cas de fichiers inconnus, ajouter disons le bureau comme emplacement approuvé si le fichier s'y trouve.
Jai coché, décoché toutes les cases possibles dans la fenêtre «trust center», avec toutes les config possibles je pense, que tu me proposes, et rien ne fonctionne...
C'est évidemment juste une co* ne rie ridicule et inutile sûrement en plus, qui doit bloquer, avec une manip stupide à faire du genre case à cocher ou décocher, mais pour trouver le problème, il faudrait connaître parfaitement cette usine à gaz de word,
Même si c'est dommage et très énervant, d'autant plus que le programme se trouve bien enregistré et que les boutons «On/Off» sont bien là, je laisse tomber, car avec le temps que j'ai passé à essayer de faire marcher ce machin, j'aurai déjà fini mon texte en choisissant chaque couleur manuellement !
J'espère que cela pourra servir à d'autres qui auront plus de chances que moi.
En tous cas, merci à toi et à Bruno pour avoir fait ce programme, qui je l'espère pourra lui servir un jour.
Philippe