[VBA] Petit outil de Mise en Forme dans le contenu des cellules

Marre de perdre la mise en forme du contenu des cellules lors du remplacement de chaine de caractères par Ctrl H (C'est ce qui arrive quand le style ou la couleur du contenu de la cellule n'est pas uniforme)
Déçu (la 1ère fois) en copiant un mot bleu dont la couleur a disparu quand je l'ai collé ailleurs
Alors, j'ai créé ce petit outil.

Il permet de mettre rapidement du style (de police) et de la couleur aux contenus de vos cellules
Les caractéristiques de la mise en forme à appliquer se font par l'intermédiaire d'une User Form
- Texte concerné (avec ou sans Respect de la Casse) ou Format de Texte (Date : dd/mm/yyyy, dd/mm/yy, dd-mm-yyyy, dd-mm-yy, Suite de <n> chiffres consécutifs, Caractères non Alphanumériques).
- Style et Couleur de Police
Dans un premier temps, j'avais utilisé un stylo à 6 couleurs puis j'ai ajouté un paramètre "cellule modèle" à partir de laquelle on récupère le style et la couleur de police
La Mise en forme est appliquée pour toutes les occurrences du Texte (ou Format de Texte) des cellules préalablement sélectionnées sur la feuille courante (plage de cellules contigües ou non).
La cible peut être soit le contenu de la cellule soit le texte de son commentaire.

image

Dans l'exemple ci-dessous, le résultat après avoir appliqué :
- Texte Recherché "texte" (Noir, Italique, Souligné)
- Format Recherché "Caractères non alphanumériques" (Bleu, Gras)
- Format Recherché "dd-mm-yyyy" (Magenta , Gras)
- Format Recherché "Suite de 5 chiffres" Rouge , Gras + Italique)

image

Quelques remarques
Les cellules avec formules ne sont pas prises en compte si la cible est la cellule (et non son commentaire). Le résultat de la formule pouvant varier, la mise en forme pourrait être incohérente. De plus, je n'ai pas trouvé de solution pour éviter que la mise en forme ne s'applique à tout le contenu de la cellule.
Pour le paramètre Format de Texte, il est limité : Pour la date à des formats fixes en taille, je n'ai par exemple pas mis dd/mmm/yyyy, plus difficile à coder. Pour la même raison, je n'ai pas proposé de format Téléphone.
Pour le style, je me suis limité à Normal, Gras, Italique et Souligné.
Pas non plus de changement de nom de police ni de sa taille.
Dans mon fichier, la macro est lancé par Ctrl+m

A adapter selon vos envies

Rechercher des sujets similaires à "vba petit outil mise forme contenu"