Macro excel: mettre une variable dans un bloc texte ?

Résolu
Bonjour,
Macro excel: mettre une variable dans un bloc texte ?
  Dim variable as string
   variable = "essai"
   Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = variable

Refus systématique,ne comprend que :
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "essai"
Merci

6 réponses

  1. Bonjour,

    Chez moi y a pas de probleme.
    Vous lancez le code de quelle facon?
    1. Bonjour
      l'utilisateur peut réaliser un tri sur différentes randonnées que je positionne sur un plan. Pour l'édition , suivant le tri effectué, j'affiche un boite message msgbox et demande de taper un titre.
      Je lance une macro qui m'édite le plan et sur ce plan, je veux mettre le titre par l'intermédiaire d'un bloc texte ; ca bloque
      Merci pour votre aide
      1. Re,

        Pouvez mettre votre fichier a dispo?

        Pour transmettre un fichier,
        Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
        il faut passer par un site de pièce jointe tel que cjoint.com

        Allez sur ce site : https://www.cjoint.com/
        Clic sur parcourir,
        Cherche ton fichier,
        clic sur ouvrir,
        Clic sur "Créer le lien cjoint",
        Copier le lien,
        Revenir ici le coller dans une réponse...
    2. Erreur d'exécution '-2147024809 (80070057)'
      L'index de cette collection est en dehors de limites

      Merci
      1. Contributeur
        voyons le code complet dans le fichier partagé.
    3. Sub Macro3()
      '
      ' Macro3 Macro
      '
      Dim variable As String
      variable = "essai"
      '
      ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 162.75, 48.75, 240 _
      , 41.25).Select
      Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = variable
      Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 5).ParagraphFormat. _
      FirstLineIndent = 0
      With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 5).Font
      .NameComplexScript = "+mn-cs"
      .NameFarEast = "+mn-ea"
      .Fill.Visible = msoTrue
      .Fill.ForeColor.ObjectThemeColor = msoThemeColorDark1
      .Fill.ForeColor.TintAndShade = 0
      .Fill.ForeColor.Brightness = 0
      .Fill.Transparency = 0
      .Fill.Solid
      .Size = 11
      .Name = "+mn-lt"
      End With
      Range("C6").Select
      End Sub

      Rien à faire toujours en défaut
      Merci pour votre réponse
      1. Contributeur
        as-tu partagé le fichier?
        j'ai testé le code, il fonctionne très bien chez moi.
        as-tu essayé dans un fichier vide?
    4. Bonjour
      PB résolu
      Dim titre As String
      titre = Range("A4").Value
      ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 756.8, _
      173.2, 975, 91.3).Select
      Selection.ShapeRange.Fill.Visible = msoFalse
      Selection.ShapeRange.TextFrame2.TextRange.Font.Size = 40
      Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = titre
      Range("A1").Select
      Merci pour votre aide