Coller "image" par macro à l'emplacement même du bouton

Bonjour tout le monde !

Voilà mon soucis, j'ai créer un fichier Calendrier dans lequel je dois pouvoir coller des "étiquettes" à chaque jour.

Ces étiquettes sont des zones textes toutes simples regroupées entre elles ( j'ai par exemple l'étiquette groupe 1 ).

Pour commencer j'ai juste crée un bouton qui lance une macro afin de copier/coller les étiquettes ( Groupe 1, Groupe 2 ... ) sur une case de mon calendrier. Cette même macro décale ensuite mon bouton vers le bas pour le positionner en dessous de mon étiquette afin de pouvoir en coller d'autre !

Seulement voilà, vu que la cible de mon .Paste est une cellule, si je souhaite recoller une étiquette sur la même page, ma macro va la recoller sur la même cible que la première !

Je n'ai pas trop envie de me lancer dans les variables pour modifier la cellule cible à chaque lancement de la macro, aussi, j'ai pensé plutôt faire en sorte que l'étiquette se colle toujours à l'ancien endroit du bouton qui lance cette même macro !

En gros, je clique sur mon bouton, mon étiquette se coller sur celui-ci et mon bouton est repositionné plus bas. Je reclique sur mon bouton, une nouvelle étiquette se place au nouvel endroit de mon bouton et ainsi de suite !

D'où ma question, commer coller quelque chose à l'emplacement du bouton qui commande la copie de cette même chose ?

Voici mon fichier, car je ne me trouve pas très clair Oo

Merci d'avance ! Et vive le VBA !!!

58classeur1.zip (25.02 Ko)

Bonjour

A tester

Bonjour,

merci de prendre de ton temps pour m'aider avec ce problème !

Ton code est très bien et je comptais l'utiliser mais je viens de me rendre compte d'un autre soucis !

Je souhaite, une fois le code final adopté, copier coller le bouton sur chaque jour de l'année.

Seulement voilà, vu que la cible sera toujours le Button 336 ( exemple ) tous mes boutons, quelque soit le jour et le mois controleront uniquement un .paste sur le Lundi 1 janvier !!!

Existe-t'il un moyen de remplacer le nom exact du bouton par un nom signifiant " le button sur lequel on vient de cliquer" ?

Ainsi, si je clique sur le bouton 19 du Mardi 18 Mars, ma macro collera mon étiquette à l'emplacement du bouton 19, si je clique sur celui du 27 Juin, ma macro collera mon étiquette au 27 Juin !

J'espère que c'est faisable, sinon je vais me retrouver à devoir faire 365 Userform différentes =p

Merci d'avance !!!

Bonjour

Je ne comprend pas tout

Tu veux avoir un bouton par jour ?

Peut-être pas le plus simple

Le fichier joint tient compte du bouton par jour

Rebonjour Banzaii !

Oui je voulais un bouton par jour, mais si tu as mieux à me proposer, je suis prenneur !!!

Sinon, ton fichier me convient, mais pourrais-tu juste m'expliquer un tout petit peu le code ?

J'aime comprendre un minimum ce que je fais et ça m'aidera ) reproduire le code !

Autre question, pour quoi la macro ne fonctionne plus lorsque je copie coller la feuille pour créer une nouvelle semaine sur le même modèle que la Semaine 1 ?

Encore merci !!!

J'avance vraiment bien dans mon projet ^^

Bonjour

A voir mon idée

C'est génial


Rebonjour !

J'ai fait une modification sur mon fichier initial et j'ai un petit soucis ...

En effet, j'ai crée de nouvelles étiquettes bien plus larges que les anciennes, j'ai donc du élargi mes colonnes pour que celles-ci rentrent correctement !

Apparemment, suite à l'élargissement des colonnes, mon étiquette ne se colle plus au bon endroit ( coordonnées verticales LgMax toujours ok, mais coordonnées horizontales Cl plus ok ).

J'ai donc essayé de trifouiller au calcul de la variable Cl et je suis passé de

Cl = 1 + (Me.DTPicker1 - (7 * NumSem + DateSerial(Annee, 1, 1) - Weekday(DateSerial(Annee, 1, 3)) - 3)) * 5

à

Cl = -2,5 + (Me.DTPicker1 - (7 * NumSem + DateSerial(Annee, 1, 1) - Weekday(DateSerial(Annee, 1, 3)) - 3)) * 5

afin que mon étiquette se mette aux bonnes coordonnées horizontales ( je ne sais pas si c'est la bonne méthode, j'en doute, mais vu que je ne comprends pas trop le calcul =p ).

Seulement voilà, quand je recolle une nouvelle étiquette, celle-ci se colle sur l'ancienne !!!

Je pense que le soucis se situe au niveau de la détection des shapes ici

LgMax = 20

For Each Sh In ActiveSheet.Shapes

If Sh.TopLeftCell.Column = Cl Then

If Sh.BottomRightCell.Row > LgMax Then

LgMax = Sh.BottomRightCell.Row + 1

End If

End If

Mais impossible de trouver où Oo

Voilà mon fichier modifié au cas où !

Merci d'avance ( again, and again !!! )


Rebonjour !

J'ai fait une modification sur mon fichier initial et j'ai un petit soucis ...

En effet, j'ai crée de nouvelles étiquettes bien plus larges que les anciennes, j'ai donc du élargi mes colonnes pour que celles-ci rentrent correctement !

Apparemment, suite à l'élargissement des colonnes, mon étiquette ne se colle plus au bon endroit ( coordonnées verticales LgMax toujours ok, mais coordonnées horizontales Cl plus ok ).

J'ai donc essayé de trifouiller au calcul de la variable Cl et je suis passé de

Cl = 1 + (Me.DTPicker1 - (7 * NumSem + DateSerial(Annee, 1, 1) - Weekday(DateSerial(Annee, 1, 3)) - 3)) * 5

à

Cl = -2,5 + (Me.DTPicker1 - (7 * NumSem + DateSerial(Annee, 1, 1) - Weekday(DateSerial(Annee, 1, 3)) - 3)) * 5

afin que mon étiquette se mette aux bonnes coordonnées horizontales ( je ne sais pas si c'est la bonne méthode, j'en doute, mais vu que je ne comprends pas trop le calcul =p ).

Seulement voilà, quand je recolle une nouvelle étiquette, celle-ci se colle sur l'ancienne !!!

Je pense que le soucis se situe au niveau de la détection des shapes ici

LgMax = 20

For Each Sh In ActiveSheet.Shapes

If Sh.TopLeftCell.Column = Cl Then

If Sh.BottomRightCell.Row > LgMax Then

LgMax = Sh.BottomRightCell.Row + 1

End If

End If

Mais impossible de trouver où Oo

Voilà mon fichier modifié au cas où !

Merci d'avance ( again, and again !!! )

Rechercher des sujets similaires à "coller image macro emplacement meme bouton"