slt tout le monde
J'aimerais savoir s'il est possible avec une macro de dire:
'Dans cette feuille j'insère une protection à code 'A', seuls les cases de couleur rose sont dévérouillés donc disponible'
On peut afficher ce message à l'ouverture du fichier en plaçant le code suivant dans ThisWorkbook:
Code:
Private Sub Workbook_Open()
msgbox'Dans cette feuille j'insère une protection à code,' & vbcr & _
'seules les cases de couleur rose sont dévérouillées, donc disponibles', vbokonly, , 'Avertissement'
End Sub
ou lors de l'activation d'une feuille dans la feuille en question :
Code:
Private Sub Worksheet_Activate()
msgbox'Dans cette feuille j'insère une protection à code,' & vbcr & _
'seules les cases de couleur rose sont dévérouillées, donc disponibles', vbokonly, , 'Avertissement'
End Sub
merci de m'avoir répondu mais en fait le but de ma recherche c'est que ces cases roses peuvent changés grâce à la mise en forme conditionnelle, par exemple un jour A1 et A2 sont en rose et un autre jour c'est A3 qui est en rose
Alors là je suis désolé mais je n'ai pas bien compris la question, vous voulez une message adressé à l'utilisateur ou une formule, un code pour dévérouiller automatiquement des cellules correspondant à une critère de couleur de remplissage :huh:
Voici un code qui dévérouille les cellules coloriées comme A2.
Code:
Sub colortest()
Dim color As Byte
Dim c As Range
color = Range('A2').Interior.ColorIndex
On Error Resume Next
'Réinitialisation
ActiveSheet.Unprotect
For Each c In Range('B1', Cells(1, 2).SpecialCells(xlLastCell))
c.Select
Selection.Locked = True
Next c
'Dévérouillage sélectif
For Each c In Range('B1', Cells(1, 2).SpecialCells(xlLastCell))
c.Select
If c.Interior.ColorIndex = color Then
Selection.Locked = False
End If
Next c
ActiveSheet.Protect
Range('A1').Select
End Sub
La partie 'réinitialisation' remet tout par défaut (vérouillé)
Est-ce mieux répondre à la question?