Modification formats caractères sélectionnés dans une cellule active Excel2007
so2306
Messages postés9Date d'inscriptionlundi 23 juin 2008StatutMembreDernière intervention25 juin 2008
-
25 juin 2008 à 13:01
so2306
Messages postés9Date d'inscriptionlundi 23 juin 2008StatutMembreDernière intervention25 juin 2008
-
25 juin 2008 à 16:28
Bonjour,
Je me demande comment modifier le format d'un texte sélectionné dans une cellule active sous Excel, sans passer par Format de cellule/Police/Indice à chaque fois. C'est une opération assez fastidieuse pour l'écriture de formules sous forme de texte dans mon métier (je ne suis pas programmeur). Je veux donc écrire cette macro sous VB 6.3.
Deux points sont à régler:
- pouvoir éxécuter une macro alors que l'on édite le texte de la cellule: typiquement une macro toute simple comme mettre tout le texte en gras, ne s'exécute pas lorsque l'on est en train d'éditer la cellule, alors que la commande Excel le peut.
- pouvoir transformer la sélection en faisant appel à une commande qui récupère le texte déjà sélectionné à la souris: c'est à dire que cette commande est dynamique, les évenements de début et de fin du texte à modifier correspondent à ceux d'un texte sélectionné, ce qui doit changer à chaque fois que je fais appel à la macro, c'est une option d'objet que je ne sais pas désigner.
En résumé je cherche à recréer la la commande qui se trouve même dans cet éditeur de texte : pour écrire "x2" on tappe "x2" puis on sélectionne "2" et un clic sur la commande de mise en forme et le tour est joué.
A voir également:
Modification formats caractères sélectionnés dans une cellule active Excel2007
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juin 2008 à 13:34
Salut
En fait, il y a deux choses :
- Le code à exécuter
- La manière de lancer ce code
Le code à lancer :
Il te suffit d'enregistrer la manipulation pendant que tu la fais une dernière fois à la main (Menu Format, Police ...)
La manière de lancer le code :
Tape ces mots dans la recherche de l'aide de Excel : ajouter bouton barre outils
Il te proposera plusieurs items dont un qui s'appelle "Créer un barre d'outils personnalisée"
Les explications sont dedans : création d'une barre d'outils
Ensuite, tu vas y placer un bouton associé à la catégorie "Macros" + "Bouton personnalisé"
Il ne reste plus qu'à cliquer sur ce nouveau bouton et désigner le nom de la macro que tu veux lancer
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
so2306
Messages postés9Date d'inscriptionlundi 23 juin 2008StatutMembreDernière intervention25 juin 2008 25 juin 2008 à 14:21
Merci pour ta réponse, mais l'enregistrement de la macro lui-même ne tient pas compte du fait que le format ne s'applique qu'aux caractères sélectionnés, c'est pour cela que je cherche à modifier le code VB en spécifiant le début et la fin de la chaîne de caractères à affecter en prenant en compte la sélection. C'est cette précision là que je n'arrive pas à implémenter.
so2306
Messages postés9Date d'inscriptionlundi 23 juin 2008StatutMembreDernière intervention25 juin 2008 25 juin 2008 à 15:42
Salut chevalier! C'est justement comment implémenter la valeur de début et de fin qui me manque, puisque c'est une pré-sélection à la souris, qui change à chaque fois (tu ne mets pas tout le temps 1 ou N caractères en indice, ça dépend du cas) ce que je ne sais pas c'est comment spécifier que c'est (si tu veux utiliser start/length) "le début de la chaîne de caractère pré-sélectionnée manuellement" pendant "le nombre de carctères pré-sélectionnés manuellement"
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 25 juin 2008 à 15:58
Ok, je comprends !
Et bien vu.
Le seul problème, c'est que tu n'as pas accès au bouton TANT QUE le texte d'une cellule est sélectionné, la je vois pas de parade.
Dommage, car avec la propriété Text de l'objet Characters, on aurait pu déterminer la position des caractères avec un InStr.
Si tu vois autre chose.. n'hésite pas, car là j'avoue, que je vois pas comment contourner le problème de cette sélection afin d'activer le CommandButton.
so2306
Messages postés9Date d'inscriptionlundi 23 juin 2008StatutMembreDernière intervention25 juin 2008 25 juin 2008 à 16:18
Exactement: ce qui est étrange c'est que les commandes excel (pour souligner, par exemple) ou l'accès au format de cellule sont possibles tant que le texte est sélectionné. Cette sélection est donc comprise comme une saisie de donnée et par conséquent les macros ne peuvent être exécutées?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 25 juin 2008 à 16:26
Passer par le click droit est différent du code.
Si tu n'as pas moyen de déterminer le ou les caractères à mettre en forme, je crains qu'il n'y ait aucune solution pour toi !
(et c'est pas faute d'avoir cherché)
so2306
Messages postés9Date d'inscriptionlundi 23 juin 2008StatutMembreDernière intervention25 juin 2008 25 juin 2008 à 16:28
ouais c'est ce que j'ai fait jusque là, en plaçant "police" comme premier bouton dans la barre d'accès rapide ce qui donne le raccourci clavier Alt+Shift+1 (pour les polices) +i