Affecter une macro au programme Excel

Bonjour au forum

Je souhaiterai affectée une macro a excel et non a un ou plusieurs classeurs .

En fait je voudrais que cette macro soit utilisable sur n'importe quel classeur en ayant que celui-ci d'ouvert.J'ai déjà créer le bouton de commande dans la barre d'outils accès rapide , mais où enregistrer cette macro ?

J'ai essayé aussi plusieurs fois d'aller a la ligne en rédigeant des codes macro avec le signe "_" en fin de ligne .Cela marche ,sauf lorsque j'insère ce caractère dans un message .Comment faut-il procéder ?

Merci et passer tous un bon réveillon

Bonjour,

Il faut préalablement enregistré une macro dans le "Classeur de macros personnelles" pour la rendre disponible dans tous les classeurs ouverts. Après, il faut passer par Bouton Office/Options Excel/Personnaliser et dans la première liste déroulante(Choisir les commandes dans les catégories suivantes :), il faut choisir "Macros" et sélectionner une macro de PERSO.xls (ou bien PERSO.xlsm, selon le cas) pour ajouter à la partie droite. A partir de là, l'outil que tu as ajouté dans la barre d'outils rapide sera disponible à tous les classeurs.

merci Raja

J'ai testé ta solution , et ça marche , bien-sur !

si quelqu'un peut m'éclairer sur mon deuxieme probleme , merci

Bonnes fêtes de fin d'année a tous

Bonjour,

J'ai essayé aussi plusieurs fois d'aller a la ligne en rédigeant des codes macro avec le signe "_" en fin de ligne .Cela marche ,sauf lorsque j'insère ce caractère dans un message .Comment faut-il procéder ?

Il faut laisser un espace entre la dernière lettre de ton code et le "_" puis faire le retour à la ligne juste après le "_".

Exemple :

Sub test()
If Range("A1") = 1 Then MsgBox _
"Ok"
End Sub

Amicalement

Dan

Bj a tous

Merci de ta réponse Nat Dan ,mais je me suis mal expliqué.

Je rencontre un problème lorsque je veux aller à la ligne en rédigeant le contenu du message lui-même.

Ex:

Sub test()

If Range("A1") = 1 Then MsgBox _

"C'est lorsque j'essaie d'aller à la ligne au cours de la rédaction _

du contenu du message que j'ai le problème"

End Sub

Merci pour vos suggestions

Bonjour à tous

Pour changer de ligne dans le MsgBox, tu fais :

Sub test()

If Range("A1") = 1 Then MsgBox _

"C'est lorsque j'essaie d'aller à la ligne au cours de la rédaction" & VbCrLf & "du contenu du message que j'ai le problème"

End Sub

Le retour à la ligne sera visible à l'affichage.

Amicalement

Nad

Edit Dan : ajout guillemets.

Bonjour, Salut Nad,

Ou bien comme ça :

Sub test()
If Range("A1") = 1 Then
 MsgBox "C'est lorsque j'essaie d'aller à la ligne au cours de la rédaction" & _
 "du contenu du message que j'ai le problème"
End If
End Sub

édit : Salut et merci Dan, je rectifie l'erreur. Ca m'apprendra à tester mes codes après une copie et correction

Bonjour à tous,

Raja, tu as omis d'ajouter le END IF avant le END SUB.

Que ce soit avec "& _" ou "& VbCrLf &", le renvoi à la ligne sera aussi donné par la taille de la boîte à message.

Dans le "& VbCrLf &" de Nad, le retour à la ligne s'effectue deux fois. Une fois après "de la" (par le VbCrLf) et une fois après "rédaction" (par la taille de la boite à message)

L'avantage est que l'on peut écrire tout la phrase en ligne dans le code et décider quand où l'on veut un retour à la ligne.

Dans le cas de Raja, le retour s'effectue après le "&_". Ici le retour est donné par la taille de la boîte à message car le "&" ne sert qu'à lier deux textes.

Il suffit de faire un essai en plaçant le "vbcrlf" ou "&" après "aller" pour se rendre compte du résultat rendu dans la boite à message.

Amicalement

Dan

Bj Raja et Nad Dan

Je vous remercie tout d'abord de vos réponses .

J'ai bien saisi la nuance entre les deux écritures de retour à la lignes.

Je me servais d'ailleurs de Chr(10) et pas de VbCrLf .

Par contre je ne connaissais pas & _ et c'est le code que je cherchais .

Juste une petite info pour ceux qui se serviront de ces posts :

il manque les deux "" dans le 2° post de Nad Dan

je laisse ce problème ouvert un jour ou deux au cas ou vous voudriez continuer a en parler.

A vous relire

re,

Par contre je ne connaissais pas & _ et c'est le code que je cherchais .

Ce n'est pas le "&" qui fait le retour à la ligne. Cela ne sert qu'à lier deux données "texte" ensemble.

Corrigé sur ta remarques au sujet de ce que Nad à écrit.

A bientôt

Dan

salut Nad

merci pour cette dernière info

et passez tous de bonnes fêtes de fin d'année.

re,

Et non, c'était pas Nad mais Dan sur cette explication

Bonnes fêtes également

Dan

Desolé Nad ou Dan , je ne sais plus

Merci a tous pour vos réponses

A vous relire

Rechercher des sujets similaires à "affecter macro programme"