J'utilise le code ci-dessous. Mais dans celui-ci je fais le tour de toutes =
les feuilles. N'y aurait-il pas un moyen d'en faire de m=C3=AAme sans faire=
le tour des feuilles comme pour tout le classeur d'une seule commande?
Merci =C3=A0 l'avance.
'***************************************************
For Each Sheet In Workbooks(Var_NomFichier).Sheets
If Sheet.EnableSelection =3D xlNoRestrictions Then
Sheet.Unprotect "allo"
Sheet.EnableSelection =3D xlNoSelection
Sheet.Protect "allo"
End If
Next
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
MichD
Le 21/09/20 à 11:21, a écrit :
For Each Sheet In Workbooks(Var_NomFichier).Sheets If Sheet.EnableSelection = xlNoRestrictions Then Sheet.Unprotect "allo" Sheet.EnableSelection = xlNoSelection Sheet.Protect "allo" End If Next
Bonjour, Même si tu n'as qu'une feuille dans un classeur, la procédure va s'exécuter correctement. Une autre manière d'écrire la même chose : For Each Sheet In Workbooks(Var_NomFichier).Sheets With Sheet If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If Next Si tu veux le faire pour une seule feuille: A ) si tu sais le nom de la feuille With Workbooks(Var_NomFichier).Worksheets("SonNom") If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If End with Au lieu d'écrire le nom de la feuille, tu peux aussi choisir d'utiliser son index, c'est-à-dire sa position dans l'ordre des feuilles. With Workbooks(Var_NomFichier).Worksheets(1) Le reste du code. MichD
Le 21/09/20 à 11:21, rmill...@gmail.com a écrit :
For Each Sheet In Workbooks(Var_NomFichier).Sheets
If Sheet.EnableSelection = xlNoRestrictions Then
Sheet.Unprotect "allo"
Sheet.EnableSelection = xlNoSelection
Sheet.Protect "allo"
End If
Next
Bonjour,
Même si tu n'as qu'une feuille dans un classeur, la procédure va
s'exécuter correctement.
Une autre manière d'écrire la même chose :
For Each Sheet In Workbooks(Var_NomFichier).Sheets
With Sheet
If .EnableSelection = xlNoRestrictions Then
.Unprotect "allo"
.EnableSelection = xlNoSelection
.Protect "allo"
End If
Next
Si tu veux le faire pour une seule feuille:
A ) si tu sais le nom de la feuille
With Workbooks(Var_NomFichier).Worksheets("SonNom")
If .EnableSelection = xlNoRestrictions Then
.Unprotect "allo"
.EnableSelection = xlNoSelection
.Protect "allo"
End If
End with
Au lieu d'écrire le nom de la feuille, tu peux aussi choisir d'utiliser
son index, c'est-à-dire sa position dans l'ordre des feuilles.
With Workbooks(Var_NomFichier).Worksheets(1)
Le reste du code.
For Each Sheet In Workbooks(Var_NomFichier).Sheets If Sheet.EnableSelection = xlNoRestrictions Then Sheet.Unprotect "allo" Sheet.EnableSelection = xlNoSelection Sheet.Protect "allo" End If Next
Bonjour, Même si tu n'as qu'une feuille dans un classeur, la procédure va s'exécuter correctement. Une autre manière d'écrire la même chose : For Each Sheet In Workbooks(Var_NomFichier).Sheets With Sheet If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If Next Si tu veux le faire pour une seule feuille: A ) si tu sais le nom de la feuille With Workbooks(Var_NomFichier).Worksheets("SonNom") If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If End with Au lieu d'écrire le nom de la feuille, tu peux aussi choisir d'utiliser son index, c'est-à-dire sa position dans l'ordre des feuilles. With Workbooks(Var_NomFichier).Worksheets(1) Le reste du code. MichD
rmill...
Le lundi 21 septembre 2020 à 11 h 50 min 39 s UTC-4, MichD a écri t :
Le 21/09/20 à 11:21, a écrit :
For Each Sheet In Workbooks(Var_NomFichier).Sheets If Sheet.EnableSelection = xlNoRestrictions Then Sheet.Unprotect "allo" Sheet.EnableSelection = xlNoSelection Sheet.Protect "allo" End If Next
Bonjour, Même si tu n'as qu'une feuille dans un classeur, la procédure v a s'exécuter correctement. Une autre manière d'écrire la même chose : For Each Sheet In Workbooks(Var_NomFichier).Sheets With Sheet If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If Next Si tu veux le faire pour une seule feuille: A ) si tu sais le nom de la feuille With Workbooks(Var_NomFichier).Worksheets("SonNom") If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If End with Au lieu d'écrire le nom de la feuille, tu peux aussi choisir d'utili ser son index, c'est-à-dire sa position dans l'ordre des feuilles. With Workbooks(Var_NomFichier).Worksheets(1) Le reste du code. MichD
Merci.
Le lundi 21 septembre 2020 à 11 h 50 min 39 s UTC-4, MichD a écri t :
Le 21/09/20 à 11:21, rmill...@gmail.com a écrit :
> For Each Sheet In Workbooks(Var_NomFichier).Sheets
> If Sheet.EnableSelection = xlNoRestrictions Then
> Sheet.Unprotect "allo"
> Sheet.EnableSelection = xlNoSelection
> Sheet.Protect "allo"
> End If
> Next
Bonjour,
Même si tu n'as qu'une feuille dans un classeur, la procédure v a
s'exécuter correctement.
Une autre manière d'écrire la même chose :
For Each Sheet In Workbooks(Var_NomFichier).Sheets
With Sheet
If .EnableSelection = xlNoRestrictions Then
.Unprotect "allo"
.EnableSelection = xlNoSelection
.Protect "allo"
End If
Next
Si tu veux le faire pour une seule feuille:
A ) si tu sais le nom de la feuille
With Workbooks(Var_NomFichier).Worksheets("SonNom")
If .EnableSelection = xlNoRestrictions Then
.Unprotect "allo"
.EnableSelection = xlNoSelection
.Protect "allo"
End If
End with
Au lieu d'écrire le nom de la feuille, tu peux aussi choisir d'utili ser
son index, c'est-à-dire sa position dans l'ordre des feuilles.
With Workbooks(Var_NomFichier).Worksheets(1)
Le reste du code.
Le lundi 21 septembre 2020 à 11 h 50 min 39 s UTC-4, MichD a écri t :
Le 21/09/20 à 11:21, a écrit :
For Each Sheet In Workbooks(Var_NomFichier).Sheets If Sheet.EnableSelection = xlNoRestrictions Then Sheet.Unprotect "allo" Sheet.EnableSelection = xlNoSelection Sheet.Protect "allo" End If Next
Bonjour, Même si tu n'as qu'une feuille dans un classeur, la procédure v a s'exécuter correctement. Une autre manière d'écrire la même chose : For Each Sheet In Workbooks(Var_NomFichier).Sheets With Sheet If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If Next Si tu veux le faire pour une seule feuille: A ) si tu sais le nom de la feuille With Workbooks(Var_NomFichier).Worksheets("SonNom") If .EnableSelection = xlNoRestrictions Then .Unprotect "allo" .EnableSelection = xlNoSelection .Protect "allo" End If End with Au lieu d'écrire le nom de la feuille, tu peux aussi choisir d'utili ser son index, c'est-à-dire sa position dans l'ordre des feuilles. With Workbooks(Var_NomFichier).Worksheets(1) Le reste du code. MichD