retourner le nom d'un shape sélectionné

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 !

Louanis

XLDnaute Nouveau
Bonjour,
j'ai cherché désespérément la ligne de code mais je ne trouve pas.
Je voudrais pouvoir dans une macro (et non un msgbox), retrouver le nom d'un shape sélectionné dans une feuille.
exemple:
dans la feuille "Carte", j'ai plusieurs shapes que j'ai créé (Forme libre) dont BVMât, ou encore BVJean.
Je sélectionne BVMât et je souhaite via une macro le colorer en vert et en même temps que dans une autre feuille ("données_carte"), la cellule correspondant au BVMât affiche le chiffre 2.

sub BVcoul()

On Error GoTo fin
nom = Sheets("Carte").ActiveShapes.name '?????'
With Selection.ShapeRange.Fill
.Visible = msoTrue
.Solid
.ForeColor.RGB = RGB(146, 208, 80)
.Transparency = 0
End With
Range("nom").value=2
Exit Sub
fin:
MsgBox ("Vérifiez qu'au moins un bassin soit sélectionné!")
End Sub


Merci d'avance pour votre aide.
Cdl.
 
Re : retourner le nom d'un shape sélectionné

Bonsour®
si le Shape est actif cela signifie qu'il est sélectionné
donc ajouter l'événement Clic à cet objet

🙄 ex:
VB:
Sub Ellipse2_Clic()
    Dim Monshape, reponse, couleur As Double
    Monshape = Application.Caller
    reponse = MsgBox(Monshape & Chr(10) & "change couleur", vbYesNo + vbQuestion, "XLD")
   If reponse = vbYes Then
   With ActiveSheet
        couleur = RGB(255 * Rnd(), 255 * Rnd(), 255 * Rnd())
        .Shapes(Monshape).Fill.ForeColor.RGB = couleur
        .Cells(1 + Rnd() * 10, 1 + Rnd() * 10).Interior.Color = couleur
    End With
    End If
End Sub
 
Re : retourner le nom d'un shape sélectionné

Bonjour,😀
merci pour vos réponses;
Jean-Marcel, j'avais trouvé sur le forum cette fonction mais elle marche avec une msgbox me semble t il;
Modeste geedee, pareil, je ne veux pas de msgbox, mais j'ai quand même gardé tes lignes de code...merci
Pierrot93, merci beaucoup, simple efficace, c'est exactement ce que je cherchais.
Encore merci à vous 3.
 
Re : retourner le nom d'un shape sélectionné

RE Bonjour,😕
Si je souhaite retourner la sélection de la feuille Carte (afin d’éviter de colorer des objets d'autres feuilles dans le cas ou l'utilisateur oubli de sélectionner un des objets de la feuille carte), du style:
dim s as string
s = Sheets("Carte").Selection.Name

mais malheureusement ça ne pas l'air aussi simple
merci d'avance
 
Re : retourner le nom d'un shape sélectionné

Bonjour,

comme dit l'aide vba (cf ci-dessous), la "selection" ne s'applique que sur la feuille active... il te faut au préalable selectionner la dite feuille...
Cette propriété renvoie l'objet sélectionné dans la fenêtre active pour un objet Application, et dans une fenêtre spécifiée pour un objet Windows.

bonne journée
@+
 
- 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

Retour