XL 2013 ( RESOLU) - Cacher les collones avec protection feuille via VBA

nunizgb

XLDnaute Junior
Bonjour,

Comment je puisse ajouter le code pour cacher les colonnes via vba si je protéger la feuilles

J'utilise ce code :

Code:
 Sub Protect_Feuille()

      For i = 1 To Sheets.Count
    With Sheets(i)
      .Protect Password:="mdp", DrawingObjects:=True, Contents:=True, Scenarios:=True
      .EnableSelection = xlUnlockedCells
   ' comment faire pour se deplacer uniquement sur des ceulles qui ne sont pas proteger ?
    End With
  
  
  Next

Range("B:B").EntireColumn.Hidden = True
Range("D:F").EntireColumn.Hidden = True


   End Sub

C'est ce range qui me fait erreur d’exécution, merci pour votre aide

Problème résolu merci à tous qui m'ont aider pour résoudre mon problème
 
Dernière modification par un modérateur:

gilbert_RGI

XLDnaute Barbatruc
Re : Cacher les collones avec protection feuille via VBA

Bonjour,

juste en cachant avant la protection

Sub Protect_Feuille()
Range("B:B").EntireColumn.Hidden = True
Range("D:F").EntireColumn.Hidden = True
For i = 1 To Sheets.Count
With Sheets(i)
.Protect Password:="mdp", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlUnlockedCells
' comment faire pour se deplacer uniquement sur des ceulles qui ne sont pas proteger ?
End With


Next
End Sub
 

nunizgb

XLDnaute Junior
Re : Cacher les collones avec protection feuille via VBA

Bonjour,

juste en cachant avant la protection

Merci j'ai essayer mais il me met : Erreur d’exécution 1004
Impossible de définir la propriété Hidden de la classe range !

Comment voir ce qui provoque cette erreur,

Puis comme j'ai tester plusieurs code, un pour afficher, masquer seulement des colonnes qui marche mais quand j'ai mis dans ce code qui fait une protection de la feuille, il me met cette erreur. Donc comment je puisse sur chaque feuille afficher toutes les colonnes sans vba pour voir si c'est à cause de cela qui j'ai erreur d’exécution.
En fait ce code jai mis dans un code qui affiche ou masque les onglet dans qui exécuter pour protéger avant que je masque les colonnes puis pour des protéger après que j'ai afficher les onglets. Donc voici ce le code que j'utilise :

Code:
Private Sub CB_1_Click()
    Dim i As Integer, MesSht As String, TSht() As String
  ' Tableau des feuilles à AFFICHER/CACHER séparée par des virgule
  MesSht = "feuil1, Feuile2"
  TSht = Split(MesSht, ",")
  '
  If CB_1.Caption = "TOI" Then
    ' Demander le mot de passe
    USF_Mdp.TextBox1.Value = ""
    USF_Mdp.Show
    If FlgOk = False Then
      MsgBox "Mot de passe érroné !"
      Exit Sub
    End If
    ' Si OK, masquer les feuilles
    For i = 0 To UBound(TSht)
      Sheets(TSht(i)).Visible = xlSheetVisible
           
    Next i
    
   
    'unproteger les feuilles
UnProtect_Feuille
    CB_1.Caption = "QUITER moi"
    CB_1.BackColor = 255
  Else
    For i = 0 To UBound(TSht)
      Sheets(TSht(i)).Visible = xlSheetVeryHidden
 ' proteger les feuilles
     Protect_Feuille
    Next i
    CB_1.Caption = "moi"
    CB_1.BackColor = 32768
  End If
 
End Sub

donc comment je puisse l’intégrer dans ce code sans que j'utilise deux code ?
 

nunizgb

XLDnaute Junior
Re : Cacher les collones avec protection feuille via VBA

pour se faire correctement
il faut enlever la protection
faire les modifications
puis remettre la protection

Merci gilbert_RGI

donc si je fais comme cela est-ce que c'est bon ?


Code:
Sub Protect_Feuille()
sheets.unprotect
Range("B:B").EntireColumn.Hidden = True
Range("D:F").EntireColumn.Hidden = True
For i = 1 To Sheets.Count
With Sheets(i)
.Protect Password:="mdp", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlUnlockedCells
' comment faire pour se deplacer uniquement sur des ceulles qui ne sont pas proteger ?
End With
Next
End Sub
Ennmettant sheets.unprotect
 

nunizgb

XLDnaute Junior
Re : ( RESOLU) - Cacher les collones avec protection feuille via VBA

mais si le mot de passe est mdp
il faut mettre par exemple
Code:
For Each f In ActiveWorkbook.Worksheets
f.Unprotect "mdp"
Next


Merci le code marche impec par contre si je veux changer le bouton toogle par deux images comment je peut ajouter le code ?
 
Dernière modification par un modérateur:

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 870
Membres
103 980
dernier inscrit
grandmasterflash38