Aide pour Application.DisplayAlerts et code VBA
Mike-31 Messages postés 18407 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un code (ci dessous) qui permet de modifier la couleur de certaines cellules sur une feuille excel sécurisée en double cliquant.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.DisplayAlerts = False
If Not Application.Intersect(Target, Range("C13:AG618")) Is Nothing Then
DESECURISERFEUILLE
Target.FormatConditions.Delete
coul = Target.Interior.ColorIndex
Select Case coul
Case 6
Target.Interior.ColorIndex = 44
Case 44
Target.Interior.ColorIndex = -4142
Case -4142
Target.Interior.ColorIndex = 6
Case Else
MsgBox "Cette couleur n'est pas reconnue."
End Select
End If
SECURISERFEUILLE
1 - je souhaiterai pourvoir le faire que sur les lignes A13, AH13, A20, AH20, A40, AH40 à la place de C13:AG618
2 - et ou mettre le Application.DisplayAlerts= False pour que le message "cette feuille est securisée......" n'apparaisse à chaque double clic.
Je vous remercie pour l'aide que vous m'apporterez.
Cordialement.
Bonjour,
Windows / Chrome 127.0.0.0
5 réponses
Bonjour,
sous réserve d'avoir compris la demande,
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Application.DisplayAlerts = False If Not Intersect(Target, Union([A13:AH13], [A20:AH20], [A40:AH40], [G12:H12], [I12:J12])) Is Nothing Then Target.FormatConditions.Delete coul = Target.Interior.ColorIndex Select Case coul Case 6 Target.Interior.ColorIndex = 44 Case 44 Target.Interior.ColorIndex = -4142 Case -4142 Target.Interior.ColorIndex = 6 Case Else MsgBox "Cette couleur n'est pas reconnue." End Select End If End Sub
Bonjour.
je vous remercie pour votre retour.
cela fonctionne pour le changement de couleurs sur les lignes désignées.
En revanche, la feuille étant sécurisé le message d’aller « la cellule ou le graphique que vous essayez de modifier se trouve sur une feuille protégée….. » apparaît toujours. Ai-je mal placé mon Applicationdisplay.alert=False ?
merci pour votre aide ?
Re,
Si ta feuille est protégée autant insérer dans le code la déprotection en début d'exécution et la reprotection en fin de code.
es ce que ton onglet est protégé avec un mot de passe ?
Bonjour.
Oui ma feuille est sécurisée par un mot de passe.
C’est bien ce que j’ai fait. Mais le message apparaît quand même.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionRe,
si ce n'est pas encore fait, dans le Visual Basic ouvre un Module en début de procédure crée cette ligne avec entre parenthèse ton mot de passe de protection de ta feuille.
dans mon exemple "toto"
Public Const Mot_pas As Variant = "toto"
ensuite crée ton code sur mon exemple
https://www.cjoint.com/c/NHxkioZva3F
ensuite si tu as besoin d'explication sur le code, reviens dans la discussion