Bonjour à tous
Voici mon problème, je souhaite insérer ou copier une image, déjà présente dans mon classeur, à un certain endroit afin de ne pas avoir à redimmensionner cette image
merci d'avance
Bonjour à tous
Voici mon problème, je souhaite insérer ou copier une image, déjà présente dans mon classeur, à un certain endroit afin de ne pas avoir à redimmensionner cette image
merci d'avance
en fait il sagit d'agir sur un shape ... par exemple pour dupliquer l'image 1 de la fenêtre courante et la placer sur la cellule C3 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub Macro1() Dim s As Shape Set s = ActiveSheet.Shapes("Picture 1").Duplicate s.Top = Range("C3").Top s.Left = Range("C3").Left End Sub
Merci bbil
mais j'ai utilisé plutot cette méthode car mon image était déjà placée par rapport à ma zone sélectionnée
Par contre comment peut-on savoir si ActiveSheet.Shapes("Picture 1") existe??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Range("A1:E14").Select Range("E14").Activate Selection.Copy Range("K22").Select ActiveSheet.Paste
Autrement pour savoir si une image portant ce nom est affiché à l'écran afin de pouvoir la sélectionnée et la supprimer.
tu peu utiliser la gestion d'erreur pour éviter de tester si l'image existe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub EffaceImage() On Error Resume Next ActiveSheet.Shapes("Picture 1").Delete On Error GoTo 0 End Sub![]()
encore une fois merci bbil
ta fonction marche à merveille seul un problème subsiste, j'ai du renomer toutes mes images pour plus de clarter et donc lorsque j'en copie une, la nouvelle image porte le même nom
Est-il possible de renomer une image, car le code fournit par l'enregistreur ne m'aide pas beaucoup :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveSheet.Shapes("Picture 24").Select Selection.Name = "Image 10"![]()
tu fais :
bien sur "image 10" ne doit pas exister précédament...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.Shapes("Picture 24") = "Image 10"
Je suis désolé mais ce code ne fonctionne pas, il me renvoie une erreur '438' : Propriété ou méthode non gérée par cet objet
mais au cas ou voici le code utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub test Call AfficheImage("H13:J20", "A1") End Sub Function AfficheImage(PlageImage As Variant, CelluleDest As Variant) Sheets("Feuil1").Select Range(PlageImage).Select Selection.Copy Range(CelluleDest).Select ActiveSheet.Paste ActiveSheet.Shapes("Image 10") = "Image 41" End Function
le débogueur bloque sur la dernière ligne : ActiveSheet.Shapes("Image 10") = "Image 41"
petite précision l'image que je souhaite copier à été renomée "Image 10" et elle se situe dans la zone "H13:J20".
[edit]
J'ai trouvé c'est tout bête, il manquait le .Name après ActiveSheet.Shapes("Image 10")
désolé je me suis pas relu...Envoyé par Ania
![]()
Y'a pas de mal tu m'as déjà beaucoup aidé et de plus je ne suis pas trop tiré les cheveux, ni trop cogné la tête avant de trouvé la solutionEnvoyé par bbil
![]()
Seulement un autre problème persiste puisque ce n'est pas la bonne image qui renommée : ce n'est pas l'image nouvellement copiée qui est modifiée mais déjà existante
une solution serait d'utiliser un nom temporaire afin de modifier la bonne image, auriez-vous autre chose de plus simple ???
bonsoir
comme dit précédemment j'ai retenu la solution d'utiliser un nom tampon afin de pouvoir renomée la bonne image, ce qui donne :
merci encore pour ton aide bbil.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ActiveSheet.Shapes("Image " & NumImageExistante).Name = "Image " & NumImageExistante + 1400 ActiveSheet.Shapes("Image " & NumImageExistante).Name = "Image " & NumImageExistante + 400 ActiveSheet.Shapes("Image " & NumImageExistante + 1400).Name = "Image " & NumImageExistante
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager