Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2011, 14h37   #1
Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : janvier 2010
Messages : 176
Points : 67
Points : 67
Par défaut Limiter protection feuille

Bonjour,

Je protège ma feuille Excel via le code suivant :
Code :
Worksheets(3).Protect Password:="test", UserInterfaceOnly:=True
Je souhaite grouper plusieurs colonnes (i.e. faire apparaître le +/- pour afficher/masquer un groupe de colonnes). Si je protège ma feuille, l'utilisateur n'a plus le moyen d'afficher/masquer ce groupe. Existe-t-il un moyen de lui permettre cette action tout de même ?

Merci d'avance
d0n32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 18h28   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Remplace le code du module1 par :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub Image1_Cliquer()
Dim c As Range, Rg As Range, Tabl
Dim inCalculationMode As Integer
Application.ScreenUpdating = False
inCalculationMode = Application.Calculation
Application.Calculation = xlCalculationManual
Workbooks.Open ThisWorkbook.Path & "\Personnel Aqua.xlsm"
Tabl = Range([A2], [B65000].End(xlUp))
ActiveWorkbook.Close False
With Sheets(3)
    .Cells.Clear
    Ligne = 2
    Sheets("Modèle").Rows(1).Copy .Rows(1)
    Sheets("Modèle").Rows(1).Copy
    Rows(1).PasteSpecial xlPasteColumnWidths
    For i = 1 To UBound(Tabl)
        Sheets("Modèle").[A2:BE10].Copy .Cells(Ligne, 1)
        .Cells(Ligne, 1) = Tabl(i, 1)
        .Cells(Ligne, 2) = Tabl(i, 2)
        .Cells(Ligne + 2, 5).Resize(7, 52).Replace "$A$2", .Cells(Ligne, 1).Address
        Ligne = Ligne + 10
    Next i
End With
SautsDePage
Application.Calculation = inCalculationMode
Application.ScreenUpdating = True
End Sub
 
Sub SautsDePage()
    On Error Resume Next
    With Sheets("PlanningsW37")
        For i = .HPageBreaks.Count To 1 Step -1
            .HPageBreaks(i).Delete
        Next i
        On Error GoTo 0
        i = 2
        Do While .Cells(i, 1) <> ""
            i = i + 10
            .HPageBreaks.Add .Cells(i, 1)
        Loop
    End With
End Sub
Daniel
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h30.


 
 
 
 
Partenaires

Hébergement Web