Identification des shapes en VBA

reymat

XLDnaute Nouveau
Bonjour à toutes et tous.

Je voudrais savoir en VBA comment identifer le shape, auquel j'ai affecté une macro, quand je clic dessus.

J'ai 70 shapes identiques ("ronds dessinés") et le traitement est identique sauf que les lignes du classeur à mettre à jour sont fonction du numéro du shape et donc j'aimerai faire qu'une seule routine

J'espère être assez clair :(

Merci d'avance pour votre aide
 

Sheldor

XLDnaute Occasionnel
Supporter XLD
Re : Identification des shapes en VBA

hello
je n'ai pas hyper bien compris,
si tu veux savoir comment vba nomme ton shape tu enregistres une macro, tu en sélectionnes un, tu arrêtes l'enregistrement,
par exemple
ActiveSheet.Shapes("Oval 10").Select
tu as un numéro après OVAL, si tu veux lister ceux de ta page

Sub liste()
nombre = ActiveSheet.Shapes.Count 'comptage des shapes dans la page

For i = 1 To nombre - 1
Cells(i, 1) = ActiveSheet.Shapes("Oval " & i).Name
Next i

End Sub

voir fichier joint

ça répond ti à ta question?
amicalement
nico
 

Pièces jointes

  • rond.zip
    7.2 KB · Affichages: 127
  • rond.zip
    7.2 KB · Affichages: 128
  • rond.zip
    7.2 KB · Affichages: 110

Pierrot93

XLDnaute Barbatruc
Re : Identification des shapes en VBA

Bonjour Reymat, Nico

une autre solution, si j'ai bien compris, pour exemple incrémente la ligne se rapportant au numero de la forme...
Les formes doivent être nommées comme le fait exec, c'est à dire => nom => espace => numéro
Bonne journée.
@+
 

Pièces jointes

  • classeur2.xls
    19.5 KB · Affichages: 208
  • classeur2.xls
    19.5 KB · Affichages: 201
  • classeur2.xls
    19.5 KB · Affichages: 213

reymat

XLDnaute Nouveau
Re : Identification des shapes en VBA

OK je vois que je n'ai pas été suffisamment clair.
En fait j'ai environ 70 shapes ("rond")
Quand je clic sur un shape je dois identifier son numéro.

Exemple si je clic sur le troisième shape je voudrais pouvoir identifer le chiffre 3.

Ainsi j'execute la même routine pour tous les shapes au lieu d'en créer 70.

Je joins mon fichier. En fait la macro Feu_clic1 pour le clic sur shape 1 deviendrait unique pour tous les shapes et en fonction de son numéro je travail sur la ligne en question.

Le but:
Quand je clic sur un feu vert, il passe au rouge, calcule le nombre de jour entre le contenu de la colonne F et la date du jour.
Je dois mettre le résultat dans la colonne G et mettre la date du jour dans la colonne F dans la ligne vis à vis du feu.

Merci à vous
 

Pièces jointes

  • Suivi des eqt critiques.xls
    41.5 KB · Affichages: 275

Pierrot93

XLDnaute Barbatruc
Re : Identification des shapes en VBA

Re

ton fichier modifié, le code fourni dans mon premier fichier répondait déjà à ta 1ere question... suffisait d'adapter en fonction des noms et besoins...

Edition ; tu as un décalage de 1 entre le numéro de la ligne et le numéro dans le nom de ta forme.
 

Pièces jointes

  • Suivi des eqt critiques.zip
    11.9 KB · Affichages: 257

Discussions similaires

Réponses
8
Affichages
438

Statistiques des forums

Discussions
312 082
Messages
2 085 171
Membres
102 805
dernier inscrit
emes