Renommer bouton Classeur

Bonsoir le forum,

Dans le fichier joint, je voudrais mettre sur 2 lignes

Onglets => police 18 & couleur rouge

Nouvelle Année => police 16 couleur bleu

Macro => Sub RenommerBoutonClasseur() dans le fichier

Mais je n'y arrive pas

Peut-on placer => Application.ScreenUpdating = False et à quel endroit?

Merci d'avance

Bien cordialement

12essai-2.zip (42.38 Ko)

Bonjour,

à tester,

Sub RenommerBoutonClasseur()
Dim w As Worksheet, o As Shape
For Each w In Worksheets
 For Each o In w.Shapes
  If InStr(1, o.TextFrame.Characters.Text, "Vides") > 0 Then
     With o.TextFrame
      .Characters.Text = "Onglets" & Chr(10) & "Nouvelle Année"
      .Characters(1, 7).Font.Color = RGB(255, 0, 0)
      .Characters(1, 7).Font.Size = 18

      .Characters(9, 22).Font.Color = RGB(0, 0, 255)
      .Characters(9, 22).Font.Size = 16

'      .Characters.Font.Name = "Garamond"
'      .HorizontalAlignment = xlHAlignCenter
'      .VerticalAlignment = xlVAlignCenter
     End With
  End If
 Next o
Next w
End Sub

Bonjour sabV

Merci Super

Ça fonctionne bien

On ne pourrait pas remplacer?

RGB(255, 0, 0) par =3 (rouge)

RGB(0, 0, 255) par 5 (bleu)

Si je le fait le texte vient noir

Peut-on placer => Application.ScreenUpdating = False et à quel endroit?

Si j'oublie d'ouvrir toutes les feuilles peut-on le lui faire dire?

Je m'excuse de toutes ces demandes

Merci pour d'éventuels retours

Bon 8 mai

Bien cordialement

Bonjour sabV et le forum

Modifs macro ça fonctionne

Il ne reste plus qu'à faire ouvrir tout le classeur

A+ peut-être

Encore merci

Bien cordialement

Sub RenommerBoutonClasseur()

Dim w As Worksheet, o As Shape

For Each w In Worksheets

For Each o In w.Shapes

If InStr(1, o.TextFrame.Characters.Text, "Vides") > 0 Then

With o.TextFrame

.Characters.Text = "Onglets" & Chr(10) & "Nouvelle Année"

.Characters(Start:=1, Length:=7).Font.ColorIndex = 3

.Characters(1, 7).Font.Size = 18

.Characters(Start:=9, Length:=22).Font.ColorIndex = 5

.Characters(9, 22).Font.Size = 16

End With

End If

Next o

Next w

End Sub

Bonjour,

à tester,

Sub RenommerBoutonClasseur()
Dim w As Worksheet, o As Shape
For Each w In Worksheets
 For Each o In w.Shapes
  If InStr(1, o.TextFrame.Characters.Text, "Vides") > 0 Then
     With o.TextFrame
      .Characters.Text = "Onglets" & Chr(10) & "Nouvelle Année"
      .Characters(1, 7).Font.Color = RGB(255, 0, 0)
      .Characters(1, 7).Font.Size = 18

      .Characters(9, 22).Font.Color = RGB(0, 0, 255)
      .Characters(9, 22).Font.Size = 16

'      .Characters.Font.Name = "Garamond"
'      .HorizontalAlignment = xlHAlignCenter
'      .VerticalAlignment = xlVAlignCenter
     End With
  End If
 Next o
Next w
End Sub

Merci sabV

Compléter macro et tout fonctionne super bien

Un grand merci à toi

Bonne fin de 8 mai

Cordialement

Bonjour,

Tu peux utiliser les index de couleurs de la palette, en remplaçant Color par ColorIndex.

Il est préférable avec les versions d'Excel à partir de 2007, d'utiliser Color plutôt que ColorIndex pour affecter une couleur en lui affectant une valeur de type Long renvoyée par la fonction RGB (pour les 8 couleurs de base, VBA dispose de constantes, vbRed et vbBlue au cas particulier, que tu peux utiliser). Mais si tu travailles avec Excel 2003, qui ne peut afficher que les couleurs de la palette, ColorIndex demeure indiqué...

Cordialement.

Bonsoir MFerrand

Merci pour la précision

Encore une demande car moi et le VBA!!!

Dans le fichier joint si je veux ajouter => (Afficher Tous les Mois) sur 3 lignes => Voir onglet janvier 2018

Pourrais-tu STP me faire la macro pour un exemple. presque fait mais ça accroche

Merci pour ton éventuel retour

Bien cordialement à toi.

12essai-2.zip (44.10 Ko)

Bonjour al87 , MFerrand,

Dans le fichier joint si je veux ajouter => (Afficher Tous les Mois) sur 3 lignes => Voir onglet janvier 2018

à tester,

Sub RenommerBoutonClasseur()
Dim w As Worksheet, o As Shape
For Each w In Worksheets
 For Each o In w.Shapes
  If InStr(1, o.TextFrame.Characters.Text, "Vides") > 0 Then
     With o.TextFrame
      .Characters.Text = "Onglets" & Chr(10) & "Nouvelle Année" & Chr(10) & "Afficher" & Chr(10) & "Tous" & Chr(10) & "les mois"
      .Characters(Start:=1, Length:=7).Font.ColorIndex = 3
      .Characters(1, 7).Font.Size = 18

      .Characters(Start:=9, Length:=15).Font.ColorIndex = 5
      .Characters(9, 15).Font.Size = 16

     End With

  End If
 Next o
Next w
End Sub

Bonjour sabV

Bonjour le forum

Merci pour ton implication

Bien cordialement

Voici la macro qui fonctionne

Sub RenommerBoutonClasseur()
Dim w As Worksheet, o As Shape
For Each w In Worksheets
 For Each o In w.Shapes
  If InStr(1, o.TextFrame.Characters.Text, "Onglets") > 0 Then
     With o.TextFrame
      .Characters.Text = "Onglets" & Chr(10) & "Nouvelle Année" & Chr(10) & "(Afficher Tous les Mois)"
      .Characters(Start:=1, Length:=7).Font.ColorIndex = 3
      .Characters(1, 7).Font.Size = 18

      .Characters(Start:=9, Length:=15).Font.ColorIndex = 5
      .Characters(9, 15).Font.Size = 16

      .Characters(Start:=24, Length:=24).Font.ColorIndex = 3
      .Characters(24, 24).Font.Size = 16

     End With
  End If
 Next o
Next w
End Sub
Rechercher des sujets similaires à "renommer bouton classeur"