Incrémenter du texte dans une zone de texte

Bonjour à tous !

Je dispose d'une zone de texte.

Mon premier bouton "Macro1" à pour mission d'insérer un mot dans cette zone de texte.

Mon second bouton "Macro2" devra lui insérer un autre mot, mais cette fois-ci à la suite !

Actuellement, je ne parviens pas à le coder. L'essai ci-après n'aboutit que sur un remplacement à chaque itération.

Sub Macro1()

ActiveSheet.Shapes.Range(Array("TextBox 1")).Select

Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "test1, "

End Sub

Sub Macro2()

ActiveSheet.Shapes.Range(Array("TextBox 1")).Select

Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "test2, "

End Sub

Savez-vous m'aider ?

Merci !

12classeur1.xlsm (14.81 Ko)

Bonjour

Avec un fichier, c'est plus simple

Cordia5

Bonjour,

sans fichier test difficile de coder correctement

Une petite idée en passant : Pour ta macro 2 avant d'écrire dans ta frame2 il faut récupérer le contenu le la frame2 ( soit ton text1)

pour pouvoir l'utiliser avant avec ta seconde saisie.

Dans ton exemple ta macro 2 éfface le text de ta macro 1

Bonjour

remplace la seconde par :

Sub Macro1()

Sub Macro2()

ActiveSheet.Shapes.Range(Array("TextBox 5")).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text =.ShapeRange(1).TextFrame2.TextRange.Characters.Text &  "test2, "

End Sub

Cordia5

Merci pour votre réactivité.

Désolé Cordia5, ta macro dysfonctionne

Xmenpl, j'avais en tête cette solution, mais la mise en oeuvre est compliquée. Je ne connais pas le code pour lire etrécupérer le champs texte déjà présent dans la zone de texte.

Je vous joint une feuille excel pour l'essai !

8classeur1.xlsm (14.81 Ko)

D'ou vient ton premier Texte ?

Ne sachant pas trop ce que tu souhaites réeelement faire, cela est difficile de t'aider clairement.

regarde et dis-nous.

Cordia5

Bonjour tout le monde,

Je ne suis pas certain d'avoir compris ce qu'il fallait faire....

Partant du principe que tu veux écrire à la suite du texte déjà présent...

On stocke le texte présent dans une variable, puis on écrit cette variable avec le texte voulu....

Sub Macro1()

x = ActiveSheet.Shapes("TextBox 1").TextFrame.Characters.Text

    ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = x & "test1, "

End Sub

Sub Macro2()

x = ActiveSheet.Shapes("TextBox 1").TextFrame.Characters.Text

    ActiveSheet.Shapes.Range(Array("TextBox 1")).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = x & "test2, "

End Sub

Cordialement,

Re,

Même Chose que Cordia ... comprend pas ton fichier ... en fait tu indiques toi même dans ta macro le texte à afficher ?

il vient de où ton texte 1 ? et où ton texte 2 ?

Si ta macro indique directement le texte à afficher alors autant que tu écrives toi même le contenu des deux textes

Je comprends votre position, mais pourtant c'est vraiment ça que je souhaite.

En effet, l'idée est d'afficher une série de texte les uns à la suite des autres. Ces textes étant directement liés à mes boutons macros.

Votre aide me sera précieuse pour l'application que je veux en faire ! (planification charge/capa industrielle).

Xorsankukai à bien compris cela, je vais tester son code.

Je ne sais pas si c'est plus clair pour vous, n'hésitez pas à me faire un retour.

Xorsankukai, je pense que tu réponds à mon besoin.

Stocker le texte présent dans une variable est effet une idée judicieuse (@Xmenpl).

Merci pour cette astuce et le code fourni. Bien joué à tous !

Re,

Stocker le texte présent dans une variable est effet une idée judicieuse (@Xmenpl).

Oups! Désolé Xmenpl, je n'avais pas pris la peine de lire toutes les réponses en détail...pas vu que tu avais indiqué la voie à suivre,

Cordialement,

Re,

Stocker le texte présent dans une variable est effet une idée judicieuse (@Xmenpl).

Oups! Désolé Xmenpl, je n'avais pas pris la peine de lire toutes les réponses en détail...pas vu que tu avais indiqué la voie à suivre,

Cordialement,

Pas de souci xorsankukai il y a une différence entre :

Arpenter le chemin et prendre de le chemin lol d'après matrix

ou Indiquer la voie et donner la solution.

Le code fonctionne très bien, mais pouvez-vous me faire voir un exemple si je veux que le texte s'incrémente en même temps sur Feuil1, Feuil2 et Feuil 3 ?

Re,

je veux que le texte s'incrémente en même temps sur Feuil1, Feuil2 et Feuil 3

Sub Macro1()

  For i = 1 To 3
   x = Sheets(i).Shapes("TextBox 1").TextFrame.Characters.Text
    Sheets(i).Shapes.Range(Array("TextBox 1")).TextFrame2.TextRange.Characters.Text = x & "test1, "
  Next i

End Sub

Sub Macro2()

  For i = 1 To 3
   x = Sheets(i).Shapes("TextBox 1").TextFrame.Characters.Text
    Sheets(i).Shapes.Range(Array("TextBox 1")).TextFrame2.TextRange.Characters.Text = x & "test2, "
  Next i

End Sub

Cordialement,

Bonsoir

Oui, mais le texte Test1 et Test2 sont en durs dans la macro, donc toujours le même texte, comprends pas bien l'objectif ???

Cordia5

Rechercher des sujets similaires à "incrementer texte zone"