Bonjour tout le monde,
J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique
sur une cellule, de changer le fond de cette cellule en une autre couleur.
Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans la
cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis
dans la macro enlever la protection et à la fin la remettre mais j'ai un
message "La cellule est protégée ou en lecture seule" (la macro s'exécute
quand même).
Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address Then
Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 44
Target.Borders(xlDiagonalDown).ColorIndex = xlNone
Target.Borders(xlDiagonalUp).ColorIndex = xlNone
Target.AddComment
Target.Comment.Visible = False
Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors 2
fois sur cette cellule"
Target.Comment.Shape.TextFrame.AutoSize = True
Worksheets("Progression sur 2 ans").Protect
Exit Sub
End If
If Target.Interior.ColorIndex = 44 Then
If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then
Target.Interior.ColorIndex = 44
Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic
Target.Borders(xlDiagonalDown).LineStyle = xlContinuous
Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete
Target.AddComment
Target.Comment.Visible = False
Target.Comment.Text Text:="Vous souhaitez supprimer le lien
Séquence/Semaine, cliquez alors 2 fois sur cette cellule"
Target.Comment.Shape.TextFrame.AutoSize = True
Worksheets("Progression sur 2 ans").Protect
Exit Sub
Else
Target.Interior.ColorIndex = xlNone
Target.Borders(xlDiagonalDown).ColorIndex = xlNone
Target.Borders(xlDiagonalUp).ColorIndex = xlNone
Target.Comment.Delete
Worksheets("Progression sur 2 ans").Protect
Exit Sub
End If
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Poulpor
Bonjour,
je crois qu'il te suffit de mettre le parametre "cancel=true" à la fin de ton code.
Bon courage.
Poulpor
Bonjour tout le monde, J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique sur une cellule, de changer le fond de cette cellule en une autre couleur. Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans la cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis dans la macro enlever la protection et à la fin la remettre mais j'ai un message "La cellule est protégée ou en lecture seule" (la macro s'exécute quand même). Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address Then Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub End If
If Target.Interior.ColorIndex = 44 Then If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic Target.Borders(xlDiagonalDown).LineStyle = xlContinuous Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="Vous souhaitez supprimer le lien Séquence/Semaine, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub Else Target.Interior.ColorIndex = xlNone Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.Comment.Delete Worksheets("Progression sur 2 ans").Protect Exit Sub End If End If
End If
End Sub
Bonjour,
je crois qu'il te suffit de mettre le parametre "cancel=true" à la fin de
ton code.
Bon courage.
Poulpor
Bonjour tout le monde,
J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique
sur une cellule, de changer le fond de cette cellule en une autre couleur.
Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans la
cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis
dans la macro enlever la protection et à la fin la remettre mais j'ai un
message "La cellule est protégée ou en lecture seule" (la macro s'exécute
quand même).
Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address Then
Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 44
Target.Borders(xlDiagonalDown).ColorIndex = xlNone
Target.Borders(xlDiagonalUp).ColorIndex = xlNone
Target.AddComment
Target.Comment.Visible = False
Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors 2
fois sur cette cellule"
Target.Comment.Shape.TextFrame.AutoSize = True
Worksheets("Progression sur 2 ans").Protect
Exit Sub
End If
If Target.Interior.ColorIndex = 44 Then
If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then
Target.Interior.ColorIndex = 44
Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic
Target.Borders(xlDiagonalDown).LineStyle = xlContinuous
Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete
Target.AddComment
Target.Comment.Visible = False
Target.Comment.Text Text:="Vous souhaitez supprimer le lien
Séquence/Semaine, cliquez alors 2 fois sur cette cellule"
Target.Comment.Shape.TextFrame.AutoSize = True
Worksheets("Progression sur 2 ans").Protect
Exit Sub
Else
Target.Interior.ColorIndex = xlNone
Target.Borders(xlDiagonalDown).ColorIndex = xlNone
Target.Borders(xlDiagonalUp).ColorIndex = xlNone
Target.Comment.Delete
Worksheets("Progression sur 2 ans").Protect
Exit Sub
End If
End If
je crois qu'il te suffit de mettre le parametre "cancel=true" à la fin de ton code.
Bon courage.
Poulpor
Bonjour tout le monde, J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique sur une cellule, de changer le fond de cette cellule en une autre couleur. Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans la cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis dans la macro enlever la protection et à la fin la remettre mais j'ai un message "La cellule est protégée ou en lecture seule" (la macro s'exécute quand même). Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address Then Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub End If
If Target.Interior.ColorIndex = 44 Then If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic Target.Borders(xlDiagonalDown).LineStyle = xlContinuous Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="Vous souhaitez supprimer le lien Séquence/Semaine, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub Else Target.Interior.ColorIndex = xlNone Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.Comment.Delete Worksheets("Progression sur 2 ans").Protect Exit Sub End If End If
End If
End Sub
Fred64
Merci Poulpor, Ca marche très bien (a part qu'il fallait le placer au début du code).
A bientot
"Poulpor" a écrit dans le message de news:
Bonjour,
je crois qu'il te suffit de mettre le parametre "cancel=true" à la fin de ton code.
Bon courage.
Poulpor
Bonjour tout le monde, J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique sur une cellule, de changer le fond de cette cellule en une autre couleur. Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans la cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis dans la macro enlever la protection et à la fin la remettre mais j'ai un message "La cellule est protégée ou en lecture seule" (la macro s'exécute quand même). Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address Then Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub End If
If Target.Interior.ColorIndex = 44 Then If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic Target.Borders(xlDiagonalDown).LineStyle = xlContinuous Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="Vous souhaitez supprimer le lien Séquence/Semaine, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub Else Target.Interior.ColorIndex = xlNone Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.Comment.Delete Worksheets("Progression sur 2 ans").Protect Exit Sub End If End If
End If
End Sub
Merci Poulpor,
Ca marche très bien (a part qu'il fallait le placer au début du code).
A bientot
"Poulpor" <Poulpor@discussions.microsoft.com> a écrit dans le message de
news: C3210E13-F46E-42E2-81DE-6FBEEC72E072@microsoft.com...
Bonjour,
je crois qu'il te suffit de mettre le parametre "cancel=true" à la fin de
ton code.
Bon courage.
Poulpor
Bonjour tout le monde,
J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique
sur une cellule, de changer le fond de cette cellule en une autre
couleur.
Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans
la
cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis
dans la macro enlever la protection et à la fin la remettre mais j'ai un
message "La cellule est protégée ou en lecture seule" (la macro s'exécute
quand même).
Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address
Then
Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 44
Target.Borders(xlDiagonalDown).ColorIndex = xlNone
Target.Borders(xlDiagonalUp).ColorIndex = xlNone
Target.AddComment
Target.Comment.Visible = False
Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors
2
fois sur cette cellule"
Target.Comment.Shape.TextFrame.AutoSize = True
Worksheets("Progression sur 2 ans").Protect
Exit Sub
End If
If Target.Interior.ColorIndex = 44 Then
If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then
Target.Interior.ColorIndex = 44
Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic
Target.Borders(xlDiagonalDown).LineStyle = xlContinuous
Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete
Target.AddComment
Target.Comment.Visible = False
Target.Comment.Text Text:="Vous souhaitez supprimer le lien
Séquence/Semaine, cliquez alors 2 fois sur cette cellule"
Target.Comment.Shape.TextFrame.AutoSize = True
Worksheets("Progression sur 2 ans").Protect
Exit Sub
Else
Target.Interior.ColorIndex = xlNone
Target.Borders(xlDiagonalDown).ColorIndex = xlNone
Target.Borders(xlDiagonalUp).ColorIndex = xlNone
Target.Comment.Delete
Worksheets("Progression sur 2 ans").Protect
Exit Sub
End If
End If
Merci Poulpor, Ca marche très bien (a part qu'il fallait le placer au début du code).
A bientot
"Poulpor" a écrit dans le message de news:
Bonjour,
je crois qu'il te suffit de mettre le parametre "cancel=true" à la fin de ton code.
Bon courage.
Poulpor
Bonjour tout le monde, J'ai réalisé une macro qui me permet, lorsque l'utilisateur double clique sur une cellule, de changer le fond de cette cellule en une autre couleur. Cependant, je souhaiterai, lors du double clic,empêcher de rentrer dans la cellule pour modifier le texte. J'ai essayé de protéger la feuille, puis dans la macro enlever la protection et à la fin la remettre mais j'ai un message "La cellule est protégée ou en lecture seule" (la macro s'exécute quand même). Merci d'avance
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'----------------------------RELATION COURS / SEMAINE-----------
If Union(Target, Range("F7:CO92")).Address = Range("F7:CO92").Address Then Worksheets("Progression sur 2 ans").Unprotect
If Target.Interior.ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="La séquence a été réalisée, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub End If
If Target.Interior.ColorIndex = 44 Then If Target.Borders(xlDiagonalUp).ColorIndex = xlNone Then Target.Interior.ColorIndex = 44 Target.Borders(xlDiagonalDown).ColorIndex = xlAutomatic Target.Borders(xlDiagonalDown).LineStyle = xlContinuous Target.Borders(xlDiagonalDown).Weight = xlThin
Target.Comment.Delete Target.AddComment Target.Comment.Visible = False Target.Comment.Text Text:="Vous souhaitez supprimer le lien Séquence/Semaine, cliquez alors 2 fois sur cette cellule" Target.Comment.Shape.TextFrame.AutoSize = True Worksheets("Progression sur 2 ans").Protect Exit Sub Else Target.Interior.ColorIndex = xlNone Target.Borders(xlDiagonalDown).ColorIndex = xlNone Target.Borders(xlDiagonalUp).ColorIndex = xlNone Target.Comment.Delete Worksheets("Progression sur 2 ans").Protect Exit Sub End If End If