Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

filtres et protection

13 réponses
Avatar
MANU
Bonjour,

J'ai fais une petite macro qui à pour but de filtrer les non vides dans un
tableau, le soucis est que la macro ne fonctionne pas si je protege ce
tableau et meme si dans les autorisations de protections j'autorise les
filtres. Avez vous une idée ?

Merci

Manu

10 réponses

1 2
Avatar
MichD
Bonjour,

| si je protege ce tableau

Est-ce que tu parles d'un tableau au sens du "nouvel objet" présent dans une feuille de calcul depuis Excel 2007 ou
d'une plage de cellules (objet Range).

Est-ce possible de voir la macro que tu utilises ?



MichD
--------------------------------------------
"MANU" a écrit dans le message de groupe de discussion : ivk5cp$tqh$

Bonjour,

J'ai fais une petite macro qui à pour but de filtrer les non vides dans un
tableau, le soucis est que la macro ne fonctionne pas si je protege ce
tableau et meme si dans les autorisations de protections j'autorise les
filtres. Avez vous une idée ?

Merci

Manu
Avatar
LSteph
Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.

--
LSteph

On Jul 13, 3:08 pm, "MANU" wrote:
Bonjour,

J'ai fais une petite macro qui à pour but de filtrer les non vides dans un
tableau, le soucis est que la macro ne fonctionne pas si je protege ce
tableau et meme si dans les autorisations de protections j'autorise les
filtres. Avez vous une idée ?

Merci

Manu
Avatar
Manu
Bonsoir,
Macro tres simple :
Sub FILTRE()
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub

Vraiment rien de special, ca fonctionne tant que je ne protege rien., Sinon,
rien à faire.

Manu


"LSteph" a écrit dans le message de news:

Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.

--
LSteph

On Jul 13, 3:08 pm, "MANU" wrote:
Bonjour,

J'ai fais une petite macro qui à pour but de filtrer les non vides dans un
tableau, le soucis est que la macro ne fonctionne pas si je protege ce
tableau et meme si dans les autorisations de protections j'autorise les
filtres. Avez vous une idée ?

Merci

Manu
Avatar
DanielCo
Bonjour,
Essaie, la feuille n'étant pas protégée au départ :
Sub FILTRE()
Sheets("Feuil6").Protect , userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1,
Criteria1:="<>"
End Sub



Bonsoir,
Macro tres simple :
Sub FILTRE()
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub

Vraiment rien de special, ca fonctionne tant que je ne protege rien., Sinon,
rien à faire.

Manu


"LSteph" a écrit dans le message de news:

Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.
Avatar
Manu
Ca fonctionne, mais je suis obligé de deproteger pour réafficher tout. N'est
t'il pas possible de filtrer sans s'occuper si c'est proteger ou pas. En
faîte, je souhaiterais savoir si il est possible de filtrer (par macro) sans
ce preocupper si les cellules du tableau sont protegé ou pas ?

Encore merci

Manu

"DanielCo" a écrit dans le message de news:
ivktff$tce$
Bonjour,
Essaie, la feuille n'étant pas protégée au départ :
Sub FILTRE()
Sheets("Feuil6").Protect , userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub



Bonsoir,
Macro tres simple :
Sub FILTRE()
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub

Vraiment rien de special, ca fonctionne tant que je ne protege rien.,
Sinon, rien à faire.

Manu


"LSteph" a écrit dans le message de news:

Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.




Avatar
DanielCo
Non,
Au lieu de protéger la feuille manuellement, tu le fais une fois ppour
toutes par VBA :
Sub Protege()
Sheets("Feuil6").Protect , Password:="toto", userinterfaceonly:=True
End Sub

ou, si la feuille est déjà protégée manuellement :

Sub FILTRE()
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1,
Criteria1:="<>"
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:úlse
End Sub

Daniel


Manu a écrit
Ca fonctionne, mais je suis obligé de deproteger pour réafficher tout. N'est
t'il pas possible de filtrer sans s'occuper si c'est proteger ou pas. En
faîte, je souhaiterais savoir si il est possible de filtrer (par macro) sans
ce preocupper si les cellules du tableau sont protegé ou pas ?

Encore merci

Manu

"DanielCo" a écrit dans le message de news:
ivktff$tce$
Bonjour,
Essaie, la feuille n'étant pas protégée au départ :
Sub FILTRE()
Sheets("Feuil6").Protect , userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub



Bonsoir,
Macro tres simple :
Sub FILTRE()
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub

Vraiment rien de special, ca fonctionne tant que je ne protege rien.,
Sinon, rien à faire.

Manu


"LSteph" a écrit dans le message de news:

Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.




Avatar
MichD
Pour se débarrasser du fait que la feuille est protégée lorsque l'on effectue un filtre,

A ) Il faut d'abord que les boutons du filtre soient affichés sur la feuille avant que la protection prenne place

B ) Utilise cette macro dans le ThisWorkbook de ton classeur

C ) Pendant le filtre, la feuille pourra demeurer "protégée" et toutes les macros pourront s'exécuter sur cette feuille
et tu n'auras pas besoin de te préoccuper du fait que la feuille est protégée. Évidemment, l'usager ne pourra apporter
des modifications manuellement.

D ) Lorsque l'on utilise le paramètre "UserInterfaceOnly", cela doit être répété à chaque ouverture du classeur pour que
ce dernier soit effectif.
'--------------------------------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.EnableAutoFilter = tue
.Protect "PassWord:=xxx", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End With
End Sub
'--------------------------------------------


MichD
--------------------------------------------
Avatar
Manu
Bonjour,

Merci encore à vous deux, c'est nickel, plus aucun soucis.

Bonne journée

Manu

"MichD" a écrit dans le message de news:
ivmdoh$qv$
Pour se débarrasser du fait que la feuille est protégée lorsque l'on
effectue un filtre,

A ) Il faut d'abord que les boutons du filtre soient affichés sur la
feuille avant que la protection prenne place

B ) Utilise cette macro dans le ThisWorkbook de ton classeur

C ) Pendant le filtre, la feuille pourra demeurer "protégée" et toutes les
macros pourront s'exécuter sur cette feuille
et tu n'auras pas besoin de te préoccuper du fait que la feuille est
protégée. Évidemment, l'usager ne pourra apporter
des modifications manuellement.

D ) Lorsque l'on utilise le paramètre "UserInterfaceOnly", cela doit être
répété à chaque ouverture du classeur pour que
ce dernier soit effectif.
'--------------------------------------------
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.EnableAutoFilter = tue
.Protect "PassWord:=xxx", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End With
End Sub
'--------------------------------------------


MichD
--------------------------------------------

Avatar
LSteph
Bonjour,

..avant tout déprotège ce qui a pu etre protégé manuelement ou par
macro puis avec le parametre userinterfaceonly, tu peux mais attention ce
doit être
placé préférablement pour éviter que cela bug, dans le Workbook_open

--
LSteph

"DanielCo" a écrit dans le message de
news:ivm616$dpf$
Non,
Au lieu de protéger la feuille manuellement, tu le fais une fois ppour
toutes par VBA :
Sub Protege()
Sheets("Feuil6").Protect , Password:="toto", userinterfaceonly:=True
End Sub

ou, si la feuille est déjà protégée manuellement :

Sub FILTRE()
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:úlse
End Sub

Daniel


Manu a écrit
Ca fonctionne, mais je suis obligé de deproteger pour réafficher tout.
N'est t'il pas possible de filtrer sans s'occuper si c'est proteger ou
pas. En faîte, je souhaiterais savoir si il est possible de filtrer (par
macro) sans ce preocupper si les cellules du tableau sont protegé ou pas
?

Encore merci

Manu

"DanielCo" a écrit dans le message de news:
ivktff$tce$
Bonjour,
Essaie, la feuille n'étant pas protégée au départ :
Sub FILTRE()
Sheets("Feuil6").Protect , userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub



Bonsoir,
Macro tres simple :
Sub FILTRE()
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1,
Criteria1:="<>"
End Sub

Vraiment rien de special, ca fonctionne tant que je ne protege rien.,
Sinon, rien à faire.

Manu


"LSteph" a écrit dans le message de news:

Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.










Avatar
DanielCo
Bonjour,
Tu peux passer la ligne :
Sheets("Feuil6").Protect , Password:="toto", userinterfaceonly:=True
sur une feuille déjà protégée et :
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:úlse
pour remettre les lieux dans l'état où tu les as trouvés.
Daniel


Bonjour,

..avant tout déprotège ce qui a pu etre protégé manuelement ou par
macro puis avec le parametre userinterfaceonly, tu peux mais attention ce
doit être
placé préférablement pour éviter que cela bug, dans le Workbook_open

--
LSteph

"DanielCo" a écrit dans le message de
news:ivm616$dpf$
Non,
Au lieu de protéger la feuille manuellement, tu le fais une fois ppour
toutes par VBA :
Sub Protege()
Sheets("Feuil6").Protect , Password:="toto", userinterfaceonly:=True
End Sub

ou, si la feuille est déjà protégée manuellement :

Sub FILTRE()
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
Sheets("Feuil1").Protect Password:="toto", userinterfaceonly:úlse
End Sub

Daniel


Manu a écrit
Ca fonctionne, mais je suis obligé de deproteger pour réafficher tout.
N'est t'il pas possible de filtrer sans s'occuper si c'est proteger ou
pas. En faîte, je souhaiterais savoir si il est possible de filtrer (par
macro) sans ce preocupper si les cellules du tableau sont protegé ou pas
?

Encore merci

Manu

"DanielCo" a écrit dans le message de news:
ivktff$tce$
Bonjour,
Essaie, la feuille n'étant pas protégée au départ :
Sub FILTRE()
Sheets("Feuil6").Protect , userinterfaceonly:=True
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1, Criteria1:="<>"
End Sub



Bonsoir,
Macro tres simple :
Sub FILTRE()
Range("A3").Select
ActiveSheet.Range("$A$3:$Y$100").AutoFilter Field:=1,
Criteria1:="<>"
End Sub

Vraiment rien de special, ca fonctionne tant que je ne protege rien.,
Sinon, rien à faire.

Manu


"LSteph" a écrit dans le message de news:

Bonjour,

Oui, l'idée première serait de voir ce qui irait ou non dans cette
macro.

Cordialement.
1 2