XL 2019 intégrer une macro dans le fichier en Pièce jointe

Patrick.75019

XLDnaute Occasionnel
Bonjour a tous

je viens solliciter votre aide pour quelque chose qui semble facile , mais pour moi est une énigme :

intégrer une macro dans le fichier en Pièce jointe, car curieusement après avoir créer et enregistrer mon application

dans un classeur excel (prenant en charge les macros ,)

celle-ci

après fermeture et réouverture du fichier , n’est plus présente dans mon application.

J’ai ce message d’erreur

(Impossible d'exécuter la macro 'PERSONAL.XLSBIEffacerjours'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées).

Voilà ce que je veux faire
protéger la feuille et l’image que j’ai intégré
et effacer les données se trouvant Range("J27,C22,D22,F22,H22,I22,J22,E25:M27").Select
en cliquant sur l’image de l’émoticon a laquelle j’ai associé la macro
et ensuite reprotéger la feuille en laissant les cellules actives Range("J27,C22,D22,F22,H22,I22,J22,E25:M27"). de façon à ce que je puisse rentrer de nouvelles données

Je vous remercie déjà pour votre aide .

ps: Si après vous pouviez m’expliquer pourquoi la macro disparait de mon application, ce serait gentil
 

Pièces jointes

  • Planning des jours de passage.zip
    53.9 KB · Affichages: 7

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Patrick

Patrick
Ton message indique que ta macro est enregistré dans le classeur de macros complémentaires PERSONAL.xlsb
Si tu veux enregistrer la macro dans le classeur actif, il faut le spécifier dans la liste déroulante
(située en de dessous de: Enregistrer la macro dans:)
 

Patrick.75019

XLDnaute Occasionnel
Merci Staple 1600

j'ai bien regardé et essayé et j'ai dit que je n'y arrivais pas
et t'as raison c'est pour cela que je suis sur le Forum pour chercher de l'aide
si tu ne peux pas faire plus car ta l'impression que j'exagère ,en ne me donnant pas la peine, je te remercie quand meme de ta sollicitude et je te souhaite une belle journée ;)
 

Staple1600

XLDnaute Barbatruc
Re

C'est pas que je ne veuille ou ne puisse faire plus ;)
C'est juste que ma philosophie, c'est d'inciter le demandeur à mettre les mains dans le cambouis, à mouiller le maillot.
On n'est pas aux pièces ;) (et nous sommes en week-end)
Donc tu n'arrives pas à quoi exactement?
A affecter une macro à une image?
ou à choisir l'endroit où enregistrer une macro ?
• soit dans le classeur actif
• dans le classeur de macros personnelles qui s'appelle par défaut: PERSONAL.xlb
 

Staple1600

XLDnaute Barbatruc
Re

Pour infos (et sauf erreur de ma part)
Ta macro suppression peut se réduire à
VB:
Sub Suppression()
Range("J27,C22:D22,F22,H22:J22,E25:M27") = ""
End Sub
Et pour l'affecter à l'image, j'ai sélectionné l'image -> Clic-droit
Affecter macro -> Macros dans: ce classeur -> Suppression ->OK

Et c'est bien ce que tu vais fait, non ?
 

Patrick.75019

XLDnaute Occasionnel
Merci de ta réponse ,
pour affecter la macro a l'image , ce n'est pas un probleme
c'est que je n'arrive pas a l'integrer au classeur actif

j'ai fait la macro , je l'enregistre
et j'affecte la macro a l'image
ensuite j'enregistre le fichier excel dans un classeur excel (prenant en charge les macros ,)je ferme l'application et curieusement quand ja nouveau , celle -ci a diparue
il est evident que je fais quelque chose de travers , mais quoi ?
 

Staple1600

XLDnaute Barbatruc
Re

Quand tu dis: "j'ai fait la macro", tu la rédiges directement dans VBE, ou tu l'obtiens en utilisant l'enregistreur de macros?
Si c'est avec l’enregistreur de macros, tu respectes bien, ce que j'expliquais au message#2?
C'est à dire choisir le bon endroit où sera stocké la macro à l'aide la liste déroulante idoine.

PS: Tu as testé ma version raccourcie de ta macro Suppression?
Tu obtiens le même résultat qu'avec l'originale?
 

Patrick.75019

XLDnaute Occasionnel
j'ai fait exactement ce que tu m'as indiqué avec le même code et affecte la macro a mon image
mais il y a un message d'erreur
Erreur d'exécution '1004':
La cellule ou le graphique que vous essayez de modifier se trouve sur une feuille protégée. Pour apporter une modification à celui-ci, vous devez ôter la protection de la feuille. Vous serez peut-être invité à entrer un mot de passe.
 

Patrick.75019

XLDnaute Occasionnel
j'ai des problèmes lorsque j'ecris on dirait que le site bug par moment

je veux que ma feuille soit entierement protegee ,
j'execute la macro
Sub Suppression()
Range("J27,C22:D22,F22,H22:J22,E25:M27") = ""
End Sub

(la feuille doit se déproteger avant la procedure)

et ensuite apres l'execution de la macro que la feuille soit a nouveau protegée

j'espere que je suis clair dans mon explication ?
 

Patrick.75019

XLDnaute Occasionnel
Re

Et comme ceci, c'est mieux?
VB:
Sub Suppression()
ActiveSheet.Unprotect
Range("J27,C22:D22,F22,H22:J22,E25:M27") = ""
ActiveSheet.Protect
End Sub

Ca a déjà avancé , mais le souci est que si je veux r entrer de nouvelles donnéees Range("J27,C22:D22,F22,H22:J22,E25:M27") celles -ci sont également verrouillées
je me suis certainement mal exprime au debut (Sorry )
la macro suppression me sert juste a effacer les donnéees Range("J27,C22:D22,F22,H22:J22,E25:M27") mais enuite il faut que je puisse reutiliser ces cellules et que tout le reste soit verrouillé_ Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin