'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim Rg As Range
Set Rg = Intersect(Target, Range("B7:AE" &
Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then
' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message
d'erreur apparait.
Erreur d'exécution "13"
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
FxM
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère : remplace : If Target.Value = "~" Then Me.Protect Else Me.Unprotect End If
par : for each cel in target if cel.value = "~" then cel.protect else cel.unprotect next cel
@+ FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
End If End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message d'erreur apparait. Erreur d'exécution "13"
Comment éviter l'apparition de ce message?
Merci d'avance. Jipé
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection
multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère :
remplace :
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
par :
for each cel in target
if cel.value = "~" then cel.protect else cel.unprotect
next cel
@+
FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim Rg As Range
Set Rg = Intersect(Target, Range("B7:AE" &
Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then
' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message
d'erreur apparait.
Erreur d'exécution "13"
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère : remplace : If Target.Value = "~" Then Me.Protect Else Me.Unprotect End If
par : for each cel in target if cel.value = "~" then cel.protect else cel.unprotect next cel
@+ FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
End If End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message d'erreur apparait. Erreur d'exécution "13"
Comment éviter l'apparition de ce message?
Merci d'avance. Jipé
Quaisako
Merci FxM.
Je ne sais pas si c'est possible, mais ce que je souhaite, c'est exécuter la macro même en cas de sélection multiple, mais surtout qu'il n'y ai aucun message proposant le débogage.
Jipé
"FxM" a écrit dans le message de news:
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère : remplace : If Target.Value = "~" Then Me.Protect Else Me.Unprotect End If
par : for each cel in target if cel.value = "~" then cel.protect else cel.unprotect next cel
@+ FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
End If End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message d'erreur apparait. Erreur d'exécution "13"
Comment éviter l'apparition de ce message?
Merci d'avance. Jipé
Merci FxM.
Je ne sais pas si c'est possible, mais
ce que je souhaite, c'est exécuter la macro même en cas de sélection
multiple,
mais surtout qu'il n'y ai aucun message proposant le débogage.
Jipé
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
eCmbC6wLGHA.2628@TK2MSFTNGP15.phx.gbl...
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection
multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère :
remplace :
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
par :
for each cel in target
if cel.value = "~" then cel.protect else cel.unprotect
next cel
@+
FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim Rg As Range
Set Rg = Intersect(Target, Range("B7:AE" &
Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then
' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message
d'erreur apparait.
Erreur d'exécution "13"
Je ne sais pas si c'est possible, mais ce que je souhaite, c'est exécuter la macro même en cas de sélection multiple, mais surtout qu'il n'y ai aucun message proposant le débogage.
Jipé
"FxM" a écrit dans le message de news:
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère : remplace : If Target.Value = "~" Then Me.Protect Else Me.Unprotect End If
par : for each cel in target if cel.value = "~" then cel.protect else cel.unprotect next cel
@+ FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
End If End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message d'erreur apparait. Erreur d'exécution "13"
Comment éviter l'apparition de ce message?
Merci d'avance. Jipé
Quaisako
Re à tous,
La ligne d'erreur étant "If Target.Value = "~" Then", j'ai ajouté un "On Error Resume Next" et un "On Error GoTo 0"
Ca a l'air de fonctionner, mais je ne suis pas sûr des conséquences. Pouvez-vous me dire si dans cette macro, tout est en ordre ? Merci. Jipé
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
On Error Resume Next
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
On Error GoTo 0
End If End If
End Sub
"Quaisako" a écrit dans le message de news:
Merci FxM.
Je ne sais pas si c'est possible, mais ce que je souhaite, c'est exécuter la macro même en cas de sélection multiple, mais surtout qu'il n'y ai aucun message proposant le débogage.
Jipé
"FxM" a écrit dans le message de news:
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère : remplace : If Target.Value = "~" Then Me.Protect Else Me.Unprotect End If
par : for each cel in target if cel.value = "~" then cel.protect else cel.unprotect next cel
@+ FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
End If End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message d'erreur apparait. Erreur d'exécution "13"
Comment éviter l'apparition de ce message?
Merci d'avance. Jipé
Re à tous,
La ligne d'erreur étant "If Target.Value = "~" Then", j'ai ajouté un "On
Error Resume Next" et un "On Error GoTo 0"
Ca a l'air de fonctionner, mais je ne suis pas sûr des conséquences.
Pouvez-vous me dire si dans cette macro, tout est en ordre ?
Merci.
Jipé
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim Rg As Range
Set Rg = Intersect(Target, Range("B7:AE" &
Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then
' If Target.Value = 1 Or Target.Value = 0 Then
On Error Resume Next
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
On Error GoTo 0
End If
End If
End Sub
"Quaisako" <nospam-jean-pierre.rome@laposte.net> a écrit dans le message de
news: O82CmCxLGHA.2828@TK2MSFTNGP12.phx.gbl...
Merci FxM.
Je ne sais pas si c'est possible, mais
ce que je souhaite, c'est exécuter la macro même en cas de sélection
multiple,
mais surtout qu'il n'y ai aucun message proposant le débogage.
Jipé
"FxM" <nullos@greuchmeu.ici> a écrit dans le message de news:
eCmbC6wLGHA.2628@TK2MSFTNGP15.phx.gbl...
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection
multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère :
remplace :
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
par :
for each cel in target
if cel.value = "~" then cel.protect else cel.unprotect
next cel
@+
FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
Dim Rg As Range
Set Rg = Intersect(Target, Range("B7:AE" &
Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then
' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect
Else
Me.Unprotect
End If
End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message
d'erreur apparait.
Erreur d'exécution "13"
La ligne d'erreur étant "If Target.Value = "~" Then", j'ai ajouté un "On Error Resume Next" et un "On Error GoTo 0"
Ca a l'air de fonctionner, mais je ne suis pas sûr des conséquences. Pouvez-vous me dire si dans cette macro, tout est en ordre ? Merci. Jipé
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
On Error Resume Next
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
On Error GoTo 0
End If End If
End Sub
"Quaisako" a écrit dans le message de news:
Merci FxM.
Je ne sais pas si c'est possible, mais ce que je souhaite, c'est exécuter la macro même en cas de sélection multiple, mais surtout qu'il n'y ai aucun message proposant le débogage.
Jipé
"FxM" a écrit dans le message de news:
Bonjour,
Note préalable : ce qui suit n'a pas été testé !
Je suppose que tu souhaites ne pas exécuter la macro en cas de sélection multiple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) if target.cells.count > 1 then exit sub
Si tu préfères protéger chacune des cellules répondant au critère : remplace : If Target.Value = "~" Then Me.Protect Else Me.Unprotect End If
par : for each cel in target if cel.value = "~" then cel.protect else cel.unprotect next cel
@+ FxM
Bonjour le Forum,
'Ce code protège les cellules ayant pour valeur "~".
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim c As Range Dim Rg As Range Set Rg = Intersect(Target, Range("B7:AE" & Range("B65536").End(xlUp).Row))
'If Not Rg Is Nothing Then ' If Target.Value = 1 Or Target.Value = 0 Then
If Not Rg Is Nothing Then
If Target.Value = "~" Then
Me.Protect Else Me.Unprotect
End If End If
End Sub
Si par inadvertance, un user sélectionne 2 ou + cellules, un message d'erreur apparait. Erreur d'exécution "13"