Impossible de définir la propriété FontStyle de la classe Font

  • Initiateur de la discussion Initiateur de la discussion matiousky
  • 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 !

matiousky

XLDnaute Junior
Bonsoir,

A l'ouverture de mon classeur Excel cette erreur apparait:

"Erreur 1004: Impossible de définir la propriété FontStyle de la classe Font"

Mon code qui contient "Font" est :

Private Sub ComboBox1_Change()
For i = 2 To 5
With Sheets("Simulation").DrawingObjects("Bouton " & i)
If .Text = ComboBox1.Value Then
.Characters.Font.FontStyle = "Gras"
.Characters.Font.ColorIndex = 9
Else
.Characters.Font.FontStyle = "Normal"
.Characters.Font.ColorIndex = 0
End If
End With
Next
End Sub

Pouvez-vous m'aider à résoudre ce problème?

Je vous remercie,
Mat
 
Re : Impossible de définir la propriété FontStyle de la classe Font

bonsoir,
voici un exemple obtenu par enregistrement de macro :
With Selection.font
.Name = "Times New Roman"
.FontStyle = "Gras"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
ici, il est bien question de "Gras" et non de "Bold" ...
bye
 
Re : Impossible de définir la propriété FontStyle de la classe Font

bonjour,
ceci fonctionne également (en Excel 2000) :
Range("A5").Characters.font.FontStyle = "Gras italique"
alors que ceci ne fonctionne pas :
Range("A5").Characters.font.FontStyle = "Bold italic"
dans la question posée, le problème provient probablement de la définition de l'objet concerné mais ???
bye
 
Re : Impossible de définir la propriété FontStyle de la classe Font

🙄 Salut, peut-être une idée,
Je pense que le souci est ici.
With Sheets("Simulation").DrawingObjects("Bouton " & i)
If .Text = ComboBox1.Value Then
D'ou provient l'expression Text ? Est-ce une variable, faut-il un . ?
Mets nous un fichier, la c'est pas clair.
@+
 
Re : Impossible de définir la propriété FontStyle de la classe Font

Bonjour Mat, Dixit, Papapaul

essaye peut être en modifiant le débute de ta macro omme ci dessous :

Code:
With Sheets("Simulation").Shapes("Bouton " & i).[B]TextFrame[/B]If .Text = ComboBox1.Value Then
.Characters.Font.Bold = True

bon après midi
@+
 
Re : Impossible de définir la propriété FontStyle de la classe Font

Bonsoir, merci à tous pour vos message,

Voici en fait mon problème:

j'ai 4 boutons, dans une liste déroulante j'ai 4 choix (choix associés aux boutons).
Je veux que lorsque je selectionne 1 choix dans la liste, le bouton associé devienne en gras, dans une certaine couleur.

Ce code marche très bien:

Private Sub ComboBox1_Change()
For i = 2 To 5
With Sheets("Simulation").DrawingObjects("Bouton " & i)
If .Text = ComboBox1.Value Then
.Characters.Font.FontStyle = "Gras"
.Characters.Font.ColorIndex = 9
Else
.Characters.Font.FontStyle = "Normal"
.Characters.Font.ColorIndex = 0
End If
End With
Next
End Sub

Cependant j'ai voulu protéger mes boutons (éviter que d'un simple clic droit on puisse par exemple changer le nom du bouton...) grace à ce code:

ActiveSheet.Protect Password:="dima", Contents:=True, userInterfaceOnly:=True, DrawingObjects:=True

Cependant "DrawingObjects:=True" fait buguer mon premier code.

Pouvez-vous m'aider?
Merci d'avance,
Mat
 
Re : Impossible de définir la propriété FontStyle de la classe Font

Salut Pierrot,

Je viens d'essayer mais apparament le code que tu m'as donné n'est pas complet: "Erreur de compilation, Erreur de Syntaxe". Cela semble venir de la 1ere ligne

With Sheets("Simulation").Shapes("Bouton " & i).TextFrameIf .Text = ComboBox1.Value Then
.Characters.Font.Bold = True

Tu peux m'aider ?

Merci de ton aide
 
Re : Impossible de définir la propriété FontStyle de la classe Font

Bonsoir Mat

essaye comme ci dessous :

Code:
Private Sub ComboBox1_Change()
For i = 2 To 5
With Sheets("Simulation").Shapes("Bouton " & i).TextFrame
If .Text = ComboBox1.Value Then
.Characters.Font.Bold = True
End If
End With
Next
End Sub

Si cela ne marche toujours pas mets un fichier en pièce jointe, ce sera plus facile pour t'aider.

bonne soirée
@+
 
Re : Impossible de définir la propriété FontStyle de la classe Font

Bonsoir, non malheureusement cela ne fonctionne toujours pas.

Je vous ai mis le fichier en pièce jointe. Mon classeur comporte deux feuilles
- accueil (comporte 3 boutons: un qui active un second bouton ; un bouton pour fermer la feuille "Simulation"; un 3eme pour la faire apparaître)
- simulation (avec 1 menu déroulant et 4 boutons)

Je rappelle mes deux objectifs:

- avoir une feuille protégé et les boutons protégés aussi (avec ActiveSheet.Protect Password:="dima", Contents:=True, userInterfaceOnly:=True, DrawingObjects:=True)

- avoir un menu déroulant dont le choix au sein de sa liste met en surbrillance un bouton (Private Sub ComboBox1_Change()
For i = 2 To 5
With Sheets("Simulation").DrawingObjects("Bouton " & i)
If .Text = ComboBox1.Value Then
.Characters.Font.FontStyle = "Gras"
.Characters.Font.ColorIndex = 9
Else
.Characters.Font.FontStyle = "Normal"
.Characters.Font.ColorIndex = 0
End If
End With
Next
End Sub)

Je pense que la protection empêche mon second code de tourner mais je ne connais pas d'alternative.

Pouvez-vous m'aider?
Merci à vous,
Mat
 

Pièces jointes

Re : Impossible de définir la propriété FontStyle de la classe Font

Je ne comprend pas, chez moi à l'ouverture j'ai un message d'erreur 1004 et un debogage qui m'envoit sur:

.Characters.Font.FontStyle = "Gras"

Tu comprends pourquoi ?
J'ai excel 2002, je suis en protection basse.

Merci de ton aide,
Mat
 
Re : Impossible de définir la propriété FontStyle de la classe Font

Salut Matiousky,

As-tu essayé de déprotéger ta feuille avant d'appliquer ton FontStyle !?

Est-ce que ça ne viendrait pas de là !
 
- 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
3
Affichages
665
Réponses
9
Affichages
580
Retour