Sélectionner une zone de texte sur plusieurs feuilles avec macro
Bonjour le forum,
Comme indiqué dans le titre, j'aimerais sélectionner et modifier le texte d'une zone de texte d'une certaine feuille, via un bouton (avec macro) depuis une autre feuille (dans le même classeur).
Cependant, je suis débutant en VBA, et je ne trouve pas comment faire. Voici le code que j'ai déjà réalisé (en traficotant avec les enregistrements de macro) :
Private Sub CommandButton1_Click()
Sheets("Feuil2").Shapes.Range(Array("ZoneTexte 1")).Select
Selection.ShapeRange.TextFrame2.TextRange.ParagraphFormat.Alignment = _
msoAlignCenter
Sheets("GraphMontantHeb").Shapes.Range(Array("ZoneTexte 1")).ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
Selection.ShapeRange.TextFrame2.TextRange.Font.Bold = msoTrue
Selection.ShapeRange.ScaleHeight 1, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Bonjour"
Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 7).ParagraphFormat. _
FirstLineIndent = 0
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 7).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 = 16
.Name = "+mn-lt"
End With
End Sub
Private Sub CommandButton2_Click()
Sheets("Feuil2").Shapes.Range(Array("ZoneTexte 2")).Select
Selection.ShapeRange.TextFrame2.TextRange.ParagraphFormat.Alignment = _
msoAlignCenter
Sheets("GraphMontantHeb").Shapes.Range(Array("ZoneTexte 2")).ShapeRange.TextFrame2.VerticalAnchor = msoAnchorMiddle
Selection.ShapeRange.TextFrame2.TextRange.Font.Bold = msoTrue
Selection.ShapeRange.ScaleHeight 1, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "Bonsoir"
Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 7).ParagraphFormat. _
FirstLineIndent = 0
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 7).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 = 16
.Name = "+mn-lt"
End With
End Sub
Pour mon test j'aimerais :
Que le bouton "Bonjour" (en feuille 1) écrive "Bonjour" dans mes 2 zones de texte (une en feuille 2 et l'autre en feuille 3)
Que le bouton "Bonsoir" (en feuille 1) écrive "Bonsoir" dans mes 2 zones de texte (une en feuille 2 et l'autre en feuille 3) (à la place de bonjour)
Et vice-versa.
Je pense que c'est simple, mais que je m'y prends très mal...
Je joins le fichier avec mes essais.
Merci beaucoup par avance.
Bonjour xorsankukai !
Merci pour ta réponse rapide. En effet, c'est beaucoup plus simple...
Je m'embêtais avec des choses compliquées (et fausses).
Merci beaucoup !