• Initiateur de la discussion Initiateur de la discussion maval
  • Date de début Date de début

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 !

maval

XLDnaute Barbatruc
Bonjour

J'aimerai si possible que lorsque je clic sur une cellule de la colonne "J" que je puisse avoir dans ma zone texte le N° de téléphone comme l'exemple

Merci de votre aide

Cordialement
Maval
 

Pièces jointes

Re : Zone texte

Bonjour à tous,

Peux-tu essayer ceci dans un module :

VB:
Option Explicit

Sub Forme()
On Error Resume Next
    ActiveCell.Select
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 719.25, 14.25, 192.75, 60).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = ActiveCell.Value
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 14). _
        ParagraphFormat
        .FirstLineIndent = 0
        .Alignment = msoAlignLeft
    End With
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 14).Font
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Fill.Visible = msoTrue
        .Fill.ForeColor.ObjectThemeColor = msoThemeColorLight1
        .Fill.ForeColor.TintAndShade = 0
        .Fill.ForeColor.Brightness = 0
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 28
        .Name = "+mn-lt"
    End With
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 255, 255)
        .Transparency = 0
        .Solid
    End With
    With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(0, 0, 0)
        .Transparency = 0
        .Solid
    End With
    Selection.ShapeRange.ShapeStyle = msoShapeStylePreset4
    ActiveCell.Select
End Sub

Et ceci dans le module de la feuille :

VB:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call Forme
End Sub

A + à tous
 
Re : Zone texte

Bonjour à tous,

Tu as entièrement raison. Merci de ton retour.

Insérer dans le code l'effacement des formes :

Sub Forme()
On Error Resume Next
ActiveSheet.DrawingObjects.Delete
ActiveCell.Select

A + à tous
 
Re : Zone texte

Bonjour et salut à mon frère poisson,
ci joint ton code épuré (je n'ai rien inventé, c'est le tien !) :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 719.25, 14.25, 192.75, 60).Select
With Selection
    .ShapeRange(1).TextFrame2.TextRange.Characters.Text = Target.Value
    .ShapeRange(1).TextFrame2.TextRange.Characters(1, 14).Font.Size = 28
    .ShapeRange.ShapeStyle = msoShapeStylePreset4
End With
Target.Activate
Cancel = True 'si l'on veut empêcher l'accès en écriture par la cellule
End Sub
Il me semble (a priori) que l'on puisse se contenter de ce qui reste (à moins bien sûr que l'utilisateur ne sélectionne le shape et ne lui apporte d'autres modification).
A+
 
Re : Zone texte

Bonjour tous,

Perso, je m'étais contenté de ça :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("J:J")) Is Nothing Then
    ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = Target.Value
End If
End Sub

Ca pose quel problème de ne pas recréer le textbox à chaque fois ?
 
Re : Zone texte

Bonjour à tous,

Une autre (pour le fun) en utilisant la cellule J2 en cellule auxilliaire (tout autre cellule ferait l'affaire) et en affectant la formule =$J$2 à la forme texte.

Le code dans module de Feuil1:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[J2] = "":  If Target(1, 1).Column = 10 And Target(1, 1).Row > 2 Then [J2] = Target(1, 1)
End Sub
 

Pièces jointes

- 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
5
Affichages
196
Retour