J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect password:="blabla"
Next i
End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais
cela ne fonctionne pas :
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Feuil(i).Protect password:="blabla"
Next i
End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les
archives du forum...
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
Jacky
Bonjour,
Sheets(i).Protect Password:="blabla"
-- Salutations JJ
"vpco" a écrit dans le message de news:
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Worksheets(i).Protect password:="blabla" Next i End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais cela ne fonctionne pas :
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Feuil(i).Protect password:="blabla" Next i End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les archives du forum...
Merci de votre aide.
Cordialement.
Marc
Bonjour,
Sheets(i).Protect Password:="blabla"
--
Salutations
JJ
"vpco" <vpco@discussions.microsoft.com> a écrit dans le message de news:
AE66F685-B1F5-4F85-96BE-929B0DA9422C@microsoft.com...
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect password:="blabla"
Next i
End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais
cela ne fonctionne pas :
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Feuil(i).Protect password:="blabla"
Next i
End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les
archives du forum...
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Worksheets(i).Protect password:="blabla" Next i End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais cela ne fonctionne pas :
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Feuil(i).Protect password:="blabla" Next i End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les archives du forum...
Merci de votre aide.
Cordialement.
Marc
Jacky
Re.... D'ailleurs, c'est le code Name qui est utilisé, sinon le code serait: '--------- Sheets("Feuil1").Protect "blabla" Sheets("Feuil2").Protect "blabla" Sheets("Feuil3").Protect "blabla" '--------- -- Salutations JJ
"vpco" a écrit dans le message de news:
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Worksheets(i).Protect password:="blabla" Next i End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais cela ne fonctionne pas :
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Feuil(i).Protect password:="blabla" Next i End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les archives du forum...
Merci de votre aide.
Cordialement.
Marc
Re....
D'ailleurs, c'est le code Name qui est utilisé, sinon le code serait:
'---------
Sheets("Feuil1").Protect "blabla"
Sheets("Feuil2").Protect "blabla"
Sheets("Feuil3").Protect "blabla"
'---------
--
Salutations
JJ
"vpco" <vpco@discussions.microsoft.com> a écrit dans le message de news:
AE66F685-B1F5-4F85-96BE-929B0DA9422C@microsoft.com...
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect password:="blabla"
Next i
End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais
cela ne fonctionne pas :
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Feuil(i).Protect password:="blabla"
Next i
End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les
archives du forum...
Re.... D'ailleurs, c'est le code Name qui est utilisé, sinon le code serait: '--------- Sheets("Feuil1").Protect "blabla" Sheets("Feuil2").Protect "blabla" Sheets("Feuil3").Protect "blabla" '--------- -- Salutations JJ
"vpco" a écrit dans le message de news:
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Worksheets(i).Protect password:="blabla" Next i End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais cela ne fonctionne pas :
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Feuil(i).Protect password:="blabla" Next i End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les archives du forum...
Merci de votre aide.
Cordialement.
Marc
michdenis
Bonjour VPCO,
Le problème possible avec la procédure que tu proposes,
A ) elle suppose que la racine de la propriété "Name" des objets feuille ("Feuil") soit tous identiques
B ) que se passe-t-il si tu as une feuille graphique dans ton classeur ?
C ) Ta méthode n'est pas applicable si tu fais référence à des feuilles d'un autre classeur...
D ) Comme elle n'est pas générique, elle pourrait ne pas répondre au critère "générique" d'un certain "Pierre" ... ;-))
Voici une solution qui se moque de tout ce qui précède:
'----------------------- Sub test()
Dim Nb As Integer, A As Integer Dim NomComponent As String, NomFeuille As String Dim Wk As Workbook
Set Wk = ThisWorkbook 'ou 'Set Wk = Workbooks("Classeur2.xls")
With Wk Nb = .Sheets.Count For A = 2 To Nb + 1 With .VBProject.VBComponents(A) Select Case .Type Case 100 'NomComponent = Propriété Name de l'objet Feuille NomComponent = .Name 'NomFeuille = Nom de l'onglet feuille ' Associé au nomcomponent NomFeuille = .Properties("Name").Value Wk.Sheets(NomFeuille).Protect End Select End With Next End With Set Wk = Nothing
End Sub '-----------------------
P.S. Si ton classeur contient des feuilles qui ne sont pas des feuilles de calcul ou graphique comme des feuilles de macro ...la procédure demandera un petit ajustement ...!
"vpco" a écrit dans le message de news:
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Worksheets(i).Protect password:="blabla" Next i End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais cela ne fonctionne pas :
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Feuil(i).Protect password:="blabla" Next i End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les archives du forum...
Merci de votre aide.
Cordialement.
Marc
Bonjour VPCO,
Le problème possible avec la procédure que tu proposes,
A ) elle suppose que la racine de la propriété "Name" des
objets feuille ("Feuil") soit tous identiques
B ) que se passe-t-il si tu as une feuille graphique dans ton classeur ?
C ) Ta méthode n'est pas applicable si tu fais référence à
des feuilles d'un autre classeur...
D ) Comme elle n'est pas générique, elle pourrait ne pas répondre
au critère "générique" d'un certain "Pierre" ... ;-))
Voici une solution qui se moque de tout ce qui précède:
'-----------------------
Sub test()
Dim Nb As Integer, A As Integer
Dim NomComponent As String, NomFeuille As String
Dim Wk As Workbook
Set Wk = ThisWorkbook
'ou
'Set Wk = Workbooks("Classeur2.xls")
With Wk
Nb = .Sheets.Count
For A = 2 To Nb + 1
With .VBProject.VBComponents(A)
Select Case .Type
Case 100
'NomComponent = Propriété Name de l'objet Feuille
NomComponent = .Name
'NomFeuille = Nom de l'onglet feuille
' Associé au nomcomponent
NomFeuille = .Properties("Name").Value
Wk.Sheets(NomFeuille).Protect
End Select
End With
Next
End With
Set Wk = Nothing
End Sub
'-----------------------
P.S. Si ton classeur contient des feuilles qui ne sont pas des feuilles
de calcul ou graphique comme des feuilles de macro ...la procédure
demandera un petit ajustement ...!
"vpco" <vpco@discussions.microsoft.com> a écrit dans le message de news:
AE66F685-B1F5-4F85-96BE-929B0DA9422C@microsoft.com...
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect password:="blabla"
Next i
End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais
cela ne fonctionne pas :
Sub Protéger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Feuil(i).Protect password:="blabla"
Next i
End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les
archives du forum...
Le problème possible avec la procédure que tu proposes,
A ) elle suppose que la racine de la propriété "Name" des objets feuille ("Feuil") soit tous identiques
B ) que se passe-t-il si tu as une feuille graphique dans ton classeur ?
C ) Ta méthode n'est pas applicable si tu fais référence à des feuilles d'un autre classeur...
D ) Comme elle n'est pas générique, elle pourrait ne pas répondre au critère "générique" d'un certain "Pierre" ... ;-))
Voici une solution qui se moque de tout ce qui précède:
'----------------------- Sub test()
Dim Nb As Integer, A As Integer Dim NomComponent As String, NomFeuille As String Dim Wk As Workbook
Set Wk = ThisWorkbook 'ou 'Set Wk = Workbooks("Classeur2.xls")
With Wk Nb = .Sheets.Count For A = 2 To Nb + 1 With .VBProject.VBComponents(A) Select Case .Type Case 100 'NomComponent = Propriété Name de l'objet Feuille NomComponent = .Name 'NomFeuille = Nom de l'onglet feuille ' Associé au nomcomponent NomFeuille = .Properties("Name").Value Wk.Sheets(NomFeuille).Protect End Select End With Next End With Set Wk = Nothing
End Sub '-----------------------
P.S. Si ton classeur contient des feuilles qui ne sont pas des feuilles de calcul ou graphique comme des feuilles de macro ...la procédure demandera un petit ajustement ...!
"vpco" a écrit dans le message de news:
Bonjour la communauté,
J'utilise ce code de Fabian Bertrand ( Astuce N°1227 / EXCELABO ).
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Worksheets(i).Protect password:="blabla" Next i End Sub
Est-possible d'utiliser le CodeName dans cette proc. J'ai essayé ceci mais cela ne fonctionne pas :
Sub Protéger() ' Protection automatique de toutes les feuilles d'un classeur Dim nombre As Integer nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For i = 1 To nombre Feuil(i).Protect password:="blabla" Next i End Sub
Je n'ai pas trouvé grand chose sur EXCELABO et chez Fred, ni dans les archives du forum...