Bonjour tout le monde. :mrgreen:
je disposais de ce code (généré et retouché légèrement par l'enregistreur de macro :aie:), permetant d'aller dans un onglet, selectionner une shape portant un nom défini dans une variable, la copier, aller dans un second onglet, coller la shape dans une cellule, puis la deplacer et lui appliquer une echelle.
ce code fonctionnait parfaitement, sauf si je faisait du debug (F8) où, la fenetre VB reprenant le focus, les select (pas bien !!!) perdaient la boule.Code:
1
2
3
4
5
6
7
8
9
10
11 Sheets(WorksheetConsigne).Select ActiveSheet.Shapes.Range(Array(CelluleConsigne.Value)).Select Selection.Copy Sheets(WorksheetCible).Select CelluleCible.Select ActiveSheet.Paste Selection.ShapeRange.IncrementLeft 4 Selection.ShapeRange.IncrementTop 4 Selection.ShapeRange.ScaleHeight 0.640625, msoFalse, msoScaleFromTopLeft
ce point, connu, ne posait pas de difficulté, je le contournais quand necessaire.
depuis, j'ai ajouté malheureusement une userform qui interomp le déroulement du programme (bien avant ce bout de code), en necessitant une manipulation utilisateur.
évidement, cet ajout, indispensable, fait perdre, comme VB pour le mode debug, le focus.
j'ai beau essayer de le redonner a grand coup de select, j'ai tout essayé, cela ne marche tout simplement plus.
et de toute facon, travailler avec du select, cay le mal.
sauf que là, ce type de "chose" (copier un shape d'un onglet a l'autre dans une cellule donné, puis la deplacer + echelle) je ne sais pas faire autrement (loose)
je suis donc completement coincé. :calim2:
info sur les variables :
WorksheetConsigne : string contenant le nom de l'onglet ou se trouve le shape d'origine.
CelluleConsigne.Value : une cellule bien particulière, situé sur le meme onglet, donnant le nom du shape, un string, quoi (par exemple : "Picture 7")
WorksheetCible : string contenant le nom de l'onglet où l'on veu coller l'image dupliqué.
CelluleCible : un range contenant l'adresse row,collumns, de la cellule sur l'onglet "cible" où l'on veu coller l'image précisement.
comment remplaceriez vous ligne a ligne cette fonction, avec les varriables listé, pour se passer de select (et re-rendre donc viable cette indispensable fonction de ma macro)
en vous remerciant d'avance. :oops:
cordialement.