OVH Cloud OVH Cloud

Macro avec bouton de cde

1 réponse
Avatar
Thierry
Bonjour =E0 toutes et =E0 tous,Je voudrais qu'une fois une ou=20
plusieures cellule(s) sont selectionn=E9e(s)qund j'appuie=20
sur mon bouton de commande l=E0 ou les cellules selectionn=E9e
(s)se colore(nt)et =E0 l'interieur s'affiche du texte. Voici=20
mon probl=E8me quand j'affecte ma macro au bouton de=20
commande ca ne fonctionne pas. j'ai essay=E9 la fa=E7on de=20
Christophe Jean qui ma gentilment r=E9pondu hier mais ca ne=20
fonctionne pas mieux. o=F9 est mon erreur, est ce que ma=20
formule est nulle!! je ne sais pas car je d=E9bute, et a=20
vrai dire je patauge!!!.
Ma macro est la suivante
Sub temps_partiel()
'
' temps_partiel Macro
' Macro enregistr=E9e le 25/10/04 par (moi)
'
Dim cell As Range
For Each cell In Selection.Areas
If Selection.Locked =3D False Then
ActiveSheet.Unprotect Password:=3D"tk"
cell.FormulaR1C1 =3D "rtp"
cell.Font.Color =3D RGB(255, 255, 255)
cell.Interior.Color =3D RGB(0, 128, 128)
ActiveSheet.Protect Password:=3D"tk",=20
DrawingObjects:=3DTrue, Contents:=3DTrue, Scenarios:=3DTrue
Else
MsgBox "Modification interdite dans votre=20
s=E9lection de cellules", vbExclamation, "ATTENTION !"
End If
Next
'
End Sub
Merci Merci Merci =E0 qui me donneras la solution.

1 réponse

Avatar
michdenis
Bonjour Christophe,

Il est difficile de connaître tes intentions à partir d'une macro qui ne fonctionne pas !

Dim cell As Range
For Each cell In Selection.Areas
If Selection.Locked = False Then

le test If s'adresse à l'ensemble de la plage de cellule sélectionnée et si une des cellules du groupe est vérouillée,
le code ne s'appliquera pas ... même aux cellules qui elles sont déverrouillées...Est-ce vraiment ton choix ? J'ai
modifié ton code pour que ta procédure s'applique à toutes les cellules non verrouillées


'---------------------------
Sub Coloration()

Dim cell As Range, C As Range
ActiveSheet.Unprotect Password:="tk"
Application.ScreenUpdating = False
For Each cell In Selection.Areas
For Each C In cell
If C.Locked = False Then
C.FormulaR1C1 = "rtp"
C.Font.Color = RGB(255, 255, 255)
C.Interior.Color = RGB(0, 128, 128)
End If
Next
Next
ActiveSheet.Unprotect "tk", True, True, True

End Sub
'---------------------------


Salutations!


"Thierry" a écrit dans le message de
news:0bd801c4ba79$0dbdd3d0$
Bonjour à toutes et à tous,Je voudrais qu'une fois une ou
plusieures cellule(s) sont selectionnée(s)qund j'appuie
sur mon bouton de commande là ou les cellules selectionnée
(s)se colore(nt)et à l'interieur s'affiche du texte. Voici
mon problème quand j'affecte ma macro au bouton de
commande ca ne fonctionne pas. j'ai essayé la façon de
Christophe Jean qui ma gentilment répondu hier mais ca ne
fonctionne pas mieux. où est mon erreur, est ce que ma
formule est nulle!! je ne sais pas car je débute, et a
vrai dire je patauge!!!.
Ma macro est la suivante
Sub temps_partiel()
'
' temps_partiel Macro
' Macro enregistrée le 25/10/04 par (moi)
'
Dim cell As Range
For Each cell In Selection.Areas
If Selection.Locked = False Then
ActiveSheet.Unprotect Password:="tk"
cell.FormulaR1C1 = "rtp"
cell.Font.Color = RGB(255, 255, 255)
cell.Interior.Color = RGB(0, 128, 128)
ActiveSheet.Protect Password:="tk",
DrawingObjects:=True, Contents:=True, Scenarios:=True
Else
MsgBox "Modification interdite dans votre
sélection de cellules", vbExclamation, "ATTENTION !"
End If
Next
'
End Sub
Merci Merci Merci à qui me donneras la solution.