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 !!!
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 ^^
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 !!! )