Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

créer une zone de texte avec macro

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 !

eastwick

XLDnaute Accro
Bonjour,

J'aimerais réaliser l'opération suivante : si je suis dans une cellule B9 (par exemple) une macro vient me générer une zone de texte transparente comportant la formule =B9.
Ce pourrait être n'importe quelle autre cellule.

Merci beaucoup.
 
Re : créer une zone de texte avec macro

bonjour,

Voilà ce que j'ai compris
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim NomBox As String

NomBox = "Box " & ActiveSheet.Shapes.Count

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, Target.Left, Target.Top, 50, 20).Name = NomBox
With ActiveSheet.Shapes(NomBox)
    .TextFrame.Characters.Text = "=" & Target.Address(RowAbsolute:=False, columnabsolute:=False)
    .Fill.Visible = msoFalse
    .Line.Visible = msoFalse
End With

End Sub
A+
 
Re : créer une zone de texte avec macro

Bonjour, eastwick, Paf, le Forum,

En pièce jointe, une autre suggestion avec ce code :

Code:
Private Sub Worksheet_SelectionChange(ByVal c As Range)
    Dim s As Shape
    On Error Resume Next
    ActiveSheet.Shapes("ZdT").Delete
    With c.Offset(, 1)
        Set s = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, .Left, .Top, 50, 20)
        s.Fill.Visible = msoFalse
        s.Select
        With Selection
            .AutoSize = True
            .Name = "ZdT"
            .Characters.Text = "= " & c.Address(RowAbsolute:=False, columnabsolute:=False)
            .Font.Bold = True
            .Font.ColorIndex = 3
            .PrintObject = False
        End With
        c.Select
    End With
End Sub

A bientôt 🙂
 

Pièces jointes

Re : créer une zone de texte avec macro

Bonjour à tous

une zone de texte transparente comportant la formule =B9.
eastwick:
Tu veux afficher la valeur contenu en B9 ou la formule contenu dans B9 ou simplement l'adresse de la cellule ?
Si c'est l'adresse, je ne comprends pas l'utilité de la chose, Excel affichant déjà cette adresse à gauche de la barre de formule
 
Re : créer une zone de texte avec macro

Merci à tous, je me suis mal fait comprendre. Voici ce que je souhaite obtenir (voir fichier)
Je l'ai fait manuellement mais je souhaite obtenir la zone de texte par macro (qu'on lance avec un raccourci clavier ou un bouton)

Merci !!!
 

Pièces jointes

Dernière édition:
Re : créer une zone de texte avec macro

re bonjour eastwick,

après modification du code initial:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NomBox As String

NomBox = "Box " & ActiveSheet.Shapes.Count

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, Target.Left + 150, Target.Top, 50, 20).Name = NomBox
With ActiveSheet.Shapes(NomBox)
    .TextFrame.Characters.Text = Target.Value
    .Fill.Visible = msoFalse
    .Line.Visible = msoFalse
End With
End Sub
la position de textbox est modifiable en jouant sur Target.Left + 150, Target.Top et sa taille sur 50, 20.

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

Réponses
3
Affichages
168
Réponses
10
Affichages
281
Réponses
16
Affichages
503
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…