Code VBA pour envoyer une image en arrière plan

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J'ai 2 images (Shapes), l'une représentant une courbe, l'autre un axe.
Ces 2 images sont superposées.
Je voudrais forcer l'image représentant l'axe à ce qu'elle soit en arrière plan (derrière l'autre).
J'ai bien tenté avec l'enregistreur de macro, mais rien ne s'est enregistré alors que l'image de l'axe s'est bien mise en arrière plan.
Quelle est la syntaxe en VBA pour réaliser cette opération ?

Merci pour l'aide.
 
Re : Code VBA pour envoyer une image en arrière plan

Bonjour MagikDoctor,

peut être comme ça :

Code:
ActiveSheet.Shapes("Picture 2").ZOrder msoSendToBack


Edit : Bonjour bhbh, je vois qu'on a la même façon d'utiliser l'enregistreur de macros 😉
 
Re : Code VBA pour envoyer une image en arrière plan

Bonjour Magic Doctor, bh2, tototiti,

Chez moi il me semblait qu'il fallait sélectionner la forme, mais bon :

Code:
ActiveSheet.Shapes("Rectangle 1").Select
Selection.ShapeRange.ZOrder msoSendToBack
SendKeys "{ESC}"

Edit : vu, il fallait supprimer .ShapeRange si l'on ne sélectionne pas. Ah l'enregistreur...

A+
 
Dernière édition:
Re : Code VBA pour envoyer une image en arrière plan

Merci bhbh & tototiti 2008,

Je pense que ça devrait marcher.
Pourquoi au conditionnel, car je suis confronté à un bo... excelien.
J'ai une courbe constituée de 2 éléments : la courbe proprement dite et un axe horizontal (abscisse).
Cette courbe dépend d'une fonction que j'avais trouvée sur le forum, qui permet de tracer une courbe (avec ou sans son axe) sur une plage déterminée de cellules. La courbe est en fait constituée de 2 images (Shapes) : l'une pour la courbe, l'autre pour l'axe.
Apparaît d'abord la courbe, puis l'axe vient se superposer sur celle-ci, de telle sorte que, lorsque les coordonnées de la courbe sont égales à celles de l'axe, on ne les voit plus. Pour y remédier je place donc l'image "axe" en arrière-plan.
La fonction marche très bien.
Seulement, suivant les événements, les coordonnées de la courbe changent (évidemment). Pour mettre à jour celle-ci, au moyen d'une macro, j'efface les 2 images et demande à ce que la fonction réintroduise les nouvelles images correspondant à la courbe actualisée.
Bizarrement, au cours de cette opération je me retrouve avec plusieurs courbes identiques qui se superposent... Et je ne parviens pas à trouver l'erreur...

Envoyer le fichier serait la solution idéale, mais il est trop lourd...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

C
Réponses
1
Affichages
3 K
A
Réponses
2
Affichages
2 K
A
P
Réponses
14
Affichages
7 K
P
Retour