Copier une image dans la cellule active
Résolu
ESCOUGER
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention - 20 oct. 2011 à 09:58
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention - 20 oct. 2011 à 09:58
A voir également:
- Copier une image dans la cellule active
- Aller à la ligne dans une cellule excel - Guide
- Comment copier une vidéo youtube - Guide
- Excel cellule couleur si condition texte - Guide
- Image iso - Guide
- Légender une image - Guide
3 réponses
quel logiciel et quelle version ?
si c'est pour excel : on ne peut pas mettre d'image dans une cellule
si c'est pour excel : on ne peut pas mettre d'image dans une cellule
C'est en effet pour excel, mais il s'agit plutôt dune forme que d'une image.
J'ai inseré une forme dans ma feuille, et j'ai assigné une macro à cette forme. Ce que je souhaite faire est de recopier cette forme à l'endroit de la cellule active.
Exemple: Je selectionne la cellule A1, puis je clique sur ma forme qui se situe ailleurs. Cela déclenche une macro à qui je demande de copier cette forme à l'endroit de la cellule active soit A1. (Je précise qu'il s'agit de toutes petites formes (sorte d'icônes) qui sont des repaires de balisages de sentiers de randonnée.
J'ai inseré une forme dans ma feuille, et j'ai assigné une macro à cette forme. Ce que je souhaite faire est de recopier cette forme à l'endroit de la cellule active.
Exemple: Je selectionne la cellule A1, puis je clique sur ma forme qui se situe ailleurs. Cela déclenche une macro à qui je demande de copier cette forme à l'endroit de la cellule active soit A1. (Je précise qu'il s'agit de toutes petites formes (sorte d'icônes) qui sont des repaires de balisages de sentiers de randonnée.
Bonjour,
Un exemple :
pour déposer un fichier : cijoint.fr et coller ici le lien fourni.
eric
Un exemple :
Private Sub Image1_Click() ActiveSheet.Shapes("Image1").Copy ActiveSheet.Paste Selection.ShapeRange.Left = ActiveCell.Left + 2 Selection.ShapeRange.Top = ActiveCell.Top + 2 End Sub
pour déposer un fichier : cijoint.fr et coller ici le lien fourni.
eric
Heuuu, bonne question...
Je ne sais pas répondre à ta question sinon que l'évènement click porte son nom.
Par contre, les objets créés il vaut mieux les nommer lors de la création, comme ça tu connais leur nom.
Exemple court :
Bien sûr il faut un nouveau nom pour chaque forme.
eric
Je ne sais pas répondre à ta question sinon que l'évènement click porte son nom.
Par contre, les objets créés il vaut mieux les nommer lors de la création, comme ça tu connais leur nom.
Exemple court :
Private Sub Image1_Click() ActiveSheet.Shapes("Image1").Copy ActiveSheet.Paste Selection.Name = "forme12" Selection.ShapeRange.Left = ActiveCell.Left + 2 Selection.ShapeRange.Top = ActiveCell.Top + 2 End Sub
Bien sûr il faut un nouveau nom pour chaque forme.
eric
Salut Eriiic,
ESCOUGER,
Pour récupérer le nom d'un Shape (j'ai bien dit Shape, ce code ne fonctionne pas avec les objets issus de la boîte à outils contrôle) on peux utiliser Application.Caller.
Il suffit d'affecter cette même macro aux divers shapes de la feuille :
Ce qui, appliqué à la macro d'Eriiic ci-dessus nous donne :
Ne reste qu'à affecter (manuellement) cette macro à toutes les formes (de type Shape!) de la feuille.
ESCOUGER,
Pour récupérer le nom d'un Shape (j'ai bien dit Shape, ce code ne fonctionne pas avec les objets issus de la boîte à outils contrôle) on peux utiliser Application.Caller.
Il suffit d'affecter cette même macro aux divers shapes de la feuille :
Sub test() MsgBox Application.Caller End Sub
Ce qui, appliqué à la macro d'Eriiic ci-dessus nous donne :
Sub CopierShapeDansCellActive() Dim NomShape As String NomShape = Application.Caller ActiveSheet.Shapes(NomShape).Copy ActiveSheet.Paste Selection.ShapeRange.Left = ActiveCell.Left + 2 Selection.ShapeRange.Top = ActiveCell.Top + 2 End Sub
Ne reste qu'à affecter (manuellement) cette macro à toutes les formes (de type Shape!) de la feuille.