badboy93120
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention 2 mai 2007
-
30 avril 2007 à 17:37
badboy93120
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention 2 mai 2007
-
30 avril 2007 à 19:04
Salut, j'aimerai faire une procédure ou fonction qui prend comme paramètre d'entrée " nom" qui es une cellule ou partie de cellule, "gras" un boolean, "taille" un integer, "couleur" un string qui est censée changer la police de "nom".
Voilà ce que j'ai codé:
Sub police(nom As Range, gras As Boolean, taille As Integer, couleur As String)
With nom.Font
If gras Then
.Bold = True
Else
.Bold = False
End If
.Size = taille
Select Case couleur
Case "rouge"
.Color = RGB(250, 0, 0)
Case "vert"
.Color = RGB(0, 100, 0)
Case "orange"
.Color = RGB(255, 191, 0)
Case "bleu"
.ColorIndex = 55
Case "marron"
.ColorIndex = 9
Case "noir"
.Color = RGB(0, 0, 0)
End Select
End With
mais quand cette "sub" elle ne marque un message d'erreur : "erreur de syntaxe"
par exemple,
Sub affectepolice()
police(range("NAMEbis"), True, 13, "noir")
end sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 avril 2007 à 18:02
Heu...
1) nom , c'est quoi, dans cette affaire ? Une Forme ? un contrôle ? une Imprimante ? l'objet Screen ?
Précise
2) une police n'a pas de propriété couleur !
Si tu veux une réponse précise, il va te falloir poser une question précise et en détail !
J'appelle par ailleurs ton attention sur l'existence d'un composant : CommnDialog ! (à tout hasard)
badboy93120
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention 2 mai 2007 30 avril 2007 à 18:09
en faite, nom est une plage par exemple : Range(A1:B5)
et ce que j'aimerai c'est affecter cette plage une taille de police, le caractére gras ou pas,la couleur du texte dans cette plage par une cellule.... étais-je bien clair?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 30 avril 2007 à 18:43
Salut,
Va peut-être falloir faire un For Each Cell In nom :
Sub police(nom As Range, gras As Boolean, taille As Integer, couleur As String)
Dim MyCell As Range
For Each MyCell In ActiveSheet.Range(nom)
With MyCell.Font
.Bold = gras
.Size = taille
Select Case couleur
Case "rouge"
.Color = RGB(250, 0, 0)
Case "vert"
.Color = RGB(0, 100, 0)
Case "orange"
.Color = RGB(255, 191, 0)
Case "bleu"
.ColorIndex = 55
Case "marron"
.ColorIndex = 9
Case "noir"
.Color = RGB(0, 0, 0)
End Select
End With
Next
End Sub
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
Vous n’avez pas trouvé la réponse que vous recherchez ?
badboy93120
Messages postés25Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention 2 mai 2007 30 avril 2007 à 19:04
oui effectivement!!! il fallait enlever les parenthèses!!! et dire que j'ai passer des heures la dessus sur ce problème!!!
voila mon code final qui a l'air de marcher...ca pouurait aider
merci pour vos réponses en tous cas
Sub police(nom As Range, gras As Boolean, taille As Integer, couleur As String)
With nom.Font
If gras Then
.Bold = True
Else
.Bold = False
End If
.Size = taille
Select Case couleur
Case "rouge"
.Color = RGB(250, 0, 0)
Case "vert"
.Color = RGB(0, 100, 0)
Case "orange"
.Color = RGB(255, 191, 0)
Case "bleu"
.ColorIndex = 55
Case "marron"
.ColorIndex = 9
Case "noir"
.Color = RGB(0, 0, 0)
End Select
End With
End Sub
Sub affectepolice()
police Range("NAMEbis"), True, 13, "noir"
end sub