Résolu Macro mettre au premier plan / reculer / avancer

  • Auteur de la discussion nacsou
  • Date de début

nacsou

Nouveau membre
Bonjour,
je n'ai pas pu trouver parmi les excellentes et excellentes réponses du site une solution en mode macro VB pour faire réculer / avancer une forme ou un dessin (propriété de shape ?)
si quelqu'un a une idée, je serai heureux qu'il puisse la partager.
merci d'avance !
 

zeb

Modérateur
Salut,
Et bienvenue.

L'excellent topic, excellemment nommé te propose une excellente méthode pour avoir une petite idée de début de solution : démarre l'enregistreur de macro, fais à la main l'action que tu cherches à savoir faire, puis va regarder ce que l'enregistreur a codé.

Avec ces éléments, il te sera facile, soit d'en conclure une solution, soit de nous demander quelques éclaircissements.

(parce que comme ça à froid, je n'ai pas encore d'idée à partager ;) )
 

nacsou

Nouveau membre
Bonjour,

merci pour ta réponse, hélas j'ai déjà testé l'enregistreur de macro, la granularité de la bête ne semble pas assez fine pour permettre de remonter les actions réalisées sur "formes"...

Je reste toujours preneur si quelqu'un a une idée qui chauffe ...
 

zeb

Modérateur
Qu'est-ce que tu entends par "réculer / avancer une forme ou un dessin " ?
 

nacsou

Nouveau membre
Bonjour,

par réculer / avancer une forme, j'entends jouer sur la superposition des formes/dessins : mettre au premier plan, mettre en arrière plan, reculer, avancer; options disponibles à partir d'un clic droit sur les objets.

@+
 

zeb

Modérateur
Oki.
Fais-le pour un objet avec l'enregistreur de macro démarré.
Publies-en le code obtenu, on va en discuter.
 

nacsou

Nouveau membre
Avec plaisir, mais on en revient au problème de granularité de l'enregistreur qui ne trouve pas utile d’enregistrer ces actions :

[cpp]Sub Macro1()
'
' Macro1 Macro
' enregistrement : - Forme 1 : clic droit mettre au premier plan - Forme 2 : clic droit avancer - Forme 3 : clic droit mettre au premier plan
'

'
End Sub[/cpp]


enregistrement réalisé sur un nouveau classeur avec 3 formes :
- Forme1 : rectangle bleu
- Forme 2 : rectangle rouge
- Forme 3 : ellipse verte
 

zeb

Modérateur
Meilleure réponse
Gné ?? :heink:

Quand je fais ça, j'obtiens :
Code:
ActiveSheet.Shapes("Rectangle 2").Select
Selection.ShapeRange.ZOrder msoBringToFront

Que je transforme aussitôt en
Code:
mafeuille2.Shapes("Rectangle 2").ShapeRange.ZOrder msoBringToFront

Parce que je suis curieux, je regarde l'aide de ZOrder, et on m'y parle de ZOrderPosition. Et voilà sans doute un début de solution à tes problèmes.

---------------

M'enfin pourquoi tu n'as rien d'enregistré ????
 

nacsou

Nouveau membre
:ouch:

merci pour ces informations,
je reste :??: sur mon enregistreur de macro qui ne remonte rien sur ces éléments. Il y a t-il une configuration spécifique pour affiner les enregistrements ?

en tout cas merci bien, je pense pouvoir me débrouiller avec ça.

@+
 

zeb

Modérateur
Non, pas de config spécifique pour moi.
Quelle version d'Excel ?

J'ai testé sur XL2002 SP2.
 

nacsou

Nouveau membre
Bonjour,

J'ai cherché à droite à gauche une solution, mais rien...
j'utilise Excel 2007 SP2, à croire que l'enregistreur de macro a perdu en précision ... si quelqu'un rencontre les mêmes problèmes ou à une idée de solution, je reste preneur.

@+
 

Fred_101

Nouveau membre
J'ai le même problème avec l'enregistreur de macro sur excel 2007: il enregistre seulement les opérations sur les cellules. Quelqu'un a une idée???
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 000
Membres
1 586 387
Dernier membre
ouistititouille
Partager cette page
Haut