OVH Cloud OVH Cloud

Au démarage

7 réponses
Avatar
YANN24
Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées, et la
feuille protégée par CODE, c'est exact?
Merci.
YANN

7 réponses

Avatar
Patrick BASTARD
Bonjour, *YANN24*
J'ai lu ton post
avec le plus grand intéret :

On Error Resume Next ?


--
Bien cordialement,
P. Bastard


Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que
faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées,
et la feuille protégée par CODE, c'est exact?
Merci.
YANN


Avatar
Rai
Bonjour,

En fait le plantage ne vient pas de tes colonnes déjà masquées, même si
le message d'erreur peut sembler s'y reférer (genre "impossible
d'affecter la propriété hidden ...")

Si la propriété hidden est à False et que tu la mets à True, elle le devient
Si la propriété hidden est à True et que tu la mets à True, elle le reste

Le plantage vient du fait que ta feuille est déjà protègée, et que par
conséquent on ne peut agir sur la propriété hidden.

Le plus simple est donc de déprotèger la feuille, de faire tes manips et
de la reprotéger.

Insère juste la ligne
ActiveSheet.Unprotect "CODE"
après ton Sheets... Select

Tu peux aussi tout écrire de manière plus simple :
Sub Auto_open()
With Sheets("01.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With
End Sub


Bonne continuation,


Rai

Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées, et la
feuille protégée par CODE, c'est exact?
Merci.
YANN


Avatar
YANN24
Ok, c'est sympa, mais je comprend pas? ça veut dire quoi? Je le met où?
Merci.
YANN


Bonjour, *YANN24*
J'ai lu ton post
avec le plus grand intéret :

On Error Resume Next ?


--
Bien cordialement,
P. Bastard


Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que
faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées,
et la feuille protégée par CODE, c'est exact?
Merci.
YANN







Avatar
YANN24
Merci
Et donc, si je faire la même manip sur plusieurs feuilles, est ce que je
peux faire :

With Sheets("01.05","02.05","03.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With

MERCI.
Yann


Bonjour,

En fait le plantage ne vient pas de tes colonnes déjà masquées, même si
le message d'erreur peut sembler s'y reférer (genre "impossible
d'affecter la propriété hidden ...")

Si la propriété hidden est à False et que tu la mets à True, elle le devient
Si la propriété hidden est à True et que tu la mets à True, elle le reste

Le plantage vient du fait que ta feuille est déjà protègée, et que par
conséquent on ne peut agir sur la propriété hidden.

Le plus simple est donc de déprotèger la feuille, de faire tes manips et
de la reprotéger.

Insère juste la ligne
ActiveSheet.Unprotect "CODE"
après ton Sheets... Select

Tu peux aussi tout écrire de manière plus simple :
Sub Auto_open()
With Sheets("01.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With
End Sub


Bonne continuation,


Rai

Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées, et la
feuille protégée par CODE, c'est exact?
Merci.
YANN





Avatar
YANN24
Re,

de plus, est-ce que Range("N1").Activate est nécéssaire?
Merci.
YANN


Bonjour,

En fait le plantage ne vient pas de tes colonnes déjà masquées, même si
le message d'erreur peut sembler s'y reférer (genre "impossible
d'affecter la propriété hidden ...")

Si la propriété hidden est à False et que tu la mets à True, elle le devient
Si la propriété hidden est à True et que tu la mets à True, elle le reste

Le plantage vient du fait que ta feuille est déjà protègée, et que par
conséquent on ne peut agir sur la propriété hidden.

Le plus simple est donc de déprotèger la feuille, de faire tes manips et
de la reprotéger.

Insère juste la ligne
ActiveSheet.Unprotect "CODE"
après ton Sheets... Select

Tu peux aussi tout écrire de manière plus simple :
Sub Auto_open()
With Sheets("01.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With
End Sub


Bonne continuation,


Rai

Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées, et la
feuille protégée par CODE, c'est exact?
Merci.
YANN





Avatar
anonymousA
bonjour,

Il ne me semble pas que la méthode protect fonctionne sur un Array de
feuilles. Par ailleurs, je ne pense pas non plus que ta formulation
Sheets("01.05","02.05","03.05") soit correcte.
Il me semble qu'une procédure de ce type est plus à même de focntionner.

tabl = Array("Feuil1", "Feuil3")

For I = LBound(tabl) To UBound(tabl)
with Sheets(tabl(I))
.unprotect TOTO"
.Columns("E:E").EntireColumn.Hidden = True
.protect TOTO"
end with
Next

Enfin, pour ce que j'en dis !!!!

A+

Merci
Et donc, si je faire la même manip sur plusieurs feuilles, est ce que je
peux faire :

With Sheets("01.05","02.05","03.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With

MERCI.
Yann



Bonjour,

En fait le plantage ne vient pas de tes colonnes déjà masquées, même si
le message d'erreur peut sembler s'y reférer (genre "impossible
d'affecter la propriété hidden ...")

Si la propriété hidden est à False et que tu la mets à True, elle le devient
Si la propriété hidden est à True et que tu la mets à True, elle le reste

Le plantage vient du fait que ta feuille est déjà protègée, et que par
conséquent on ne peut agir sur la propriété hidden.

Le plus simple est donc de déprotèger la feuille, de faire tes manips et
de la reprotéger.

Insère juste la ligne
ActiveSheet.Unprotect "CODE"
après ton Sheets... Select

Tu peux aussi tout écrire de manière plus simple :
Sub Auto_open()
With Sheets("01.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With
End Sub


Bonne continuation,


Rai


Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées, et la
feuille protégée par CODE, c'est exact?
Merci.
YANN







Avatar
Rai
Non, cette ligne est loin d'être indispensable.
Je l'avais laissée, croyant que tu voulais faire arriver l'utilisateur
sur la cellule N2.

Et c'est maintenant que je m'aperçois de la bourde ... on masque la
colonne N dans cette procédure.

Donc cette ligne est TOTALEMENT inutile ;o))

Autant pour moi.

Bonne soirée

Rai


Re,

de plus, est-ce que Range("N1").Activate est nécéssaire?
Merci.
YANN



Bonjour,

En fait le plantage ne vient pas de tes colonnes déjà masquées, même si
le message d'erreur peut sembler s'y reférer (genre "impossible
d'affecter la propriété hidden ...")

Si la propriété hidden est à False et que tu la mets à True, elle le devient
Si la propriété hidden est à True et que tu la mets à True, elle le reste

Le plantage vient du fait que ta feuille est déjà protègée, et que par
conséquent on ne peut agir sur la propriété hidden.

Le plus simple est donc de déprotèger la feuille, de faire tes manips et
de la reprotéger.

Insère juste la ligne
ActiveSheet.Unprotect "CODE"
après ton Sheets... Select

Tu peux aussi tout écrire de manière plus simple :
Sub Auto_open()
With Sheets("01.05")
.Unprotect "CODE"
.Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").EntireColumn.Hidden = True
.Protect "CODE"
.Range("N1").Activate
End With
End Sub


Bonne continuation,


Rai


Bonjour,
j'ai ma macro auto_open qui suit :

Sub Auto_open()
Sheets("01.05").Select
Range("F:F,G:G,H:H,J:J,M:M,N:N,O:O").Select
Range("N1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect "CODE"
End Sub

Le hic, c'est que si mes colonnes sont dèjà masquées, ça plante. Que faire?

Sinon, avec cette macro, au démarage, les colonnes seront masquées, et la
feuille protégée par CODE, c'est exact?
Merci.
YANN