OVH Cloud OVH Cloud

Userform

3 réponses
Avatar
YANN24
Bonjour,
je voudrais comprendre un code.
Hier, AnonymousA m'a expliquer un code qu'il m'avait donné. J'ai besoin
d'une dernière explication : que veut dire exactement ce qui suit ? Est ce
que ça va rendre invisible toutes mes feuilles (leurs noms sont très
différents, y a des chiffres et des lettres), MERCI.
Yann

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next
Sheets(18).Visible = True
For I = 2 To ThisWorkbook.Sheets.Count
Sheets(I).Visible = xlSheetVeryHidden
Next
ThisWorkbook.IsAddin = True

MasquerFeuille
AfficheBOutils

ActiveWorkbook.Save

End Sub

3 réponses

Avatar
poy-poy
Bonjour Yann,

Le code suivant commence par rendre visible la 18eme feuille de classeur
puis pour chaque feuille visible du classeur (donc aussi la 18eme) elle l'est
rend super-caché. En fait, elles sont invisibles mais on ne peut même plus
les rendre visible par excel. Le seul moyen pour les revoir c'est vba. Enfin,
cela mets ton classeur comme addin pour utilisation ultérieur et lance 2
autres codes (masquerfeuille et afficheBoutils) je suppose.

Cordialement
Benjamin


Bonjour,
je voudrais comprendre un code.
Hier, AnonymousA m'a expliquer un code qu'il m'avait donné. J'ai besoin
d'une dernière explication : que veut dire exactement ce qui suit ? Est ce
que ça va rendre invisible toutes mes feuilles (leurs noms sont très
différents, y a des chiffres et des lettres), MERCI.
Yann

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next
Sheets(18).Visible = True
For I = 2 To ThisWorkbook.Sheets.Count
Sheets(I).Visible = xlSheetVeryHidden
Next
ThisWorkbook.IsAddin = True

MasquerFeuille
AfficheBOutils

ActiveWorkbook.Save

End Sub


Avatar
anonymousA
bonjour,

dans un classeur, il doit toujours y a voir au moins 1 feuille visible par
construction d'Excel.
Le code que je t'avais communiqué était un exemple qui permettait de laisser
au moins la feuille 1 visible. Tu choisis celle que tu veux mais au moins
l'une d'entre d'elles doit rester visible.
Excel numérote de gauche à droite l'indicage pour les onglets selon la
position que ceux-ci occupent sur l'écran ( attention je parle des onglets
que tu vois quand tu es dans l'environnement d'un classeur .Si on parles des
onglets que l'on voit dans l'environnement VBE, c'est encore différent pour
l'indicage.)

For I= 2 To ThisWorkbook.Sheets.Count
Sheets(I).Visible = xlSheetVeryHidden
Next

veut donc dire que pour les onglets indicés de 2 au nombre total d'onglets,
le programme va masquer ceux-ci.Il va donc y avoir un problème dans ton code
si tu souhaites à la fois laisser la feuille d'indice 18 affichée et ensuite
la masquer et encore plus si tu as déjà par ailleurs masqué l'onglet d'indice
1.

A+



Bonjour,
je voudrais comprendre un code.
Hier, AnonymousA m'a expliquer un code qu'il m'avait donné. J'ai besoin
d'une dernière explication : que veut dire exactement ce qui suit ? Est ce
que ça va rendre invisible toutes mes feuilles (leurs noms sont très
différents, y a des chiffres et des lettres), MERCI.
Yann

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next
Sheets(18).Visible = True
For I = 2 To ThisWorkbook.Sheets.Count
Sheets(I).Visible = xlSheetVeryHidden
Next
ThisWorkbook.IsAddin = True

MasquerFeuille
AfficheBOutils

ActiveWorkbook.Save

End Sub


Avatar
LSteph
Bonjour,
Ignorant ce que font exactementensuite les autres macros
MasquerFeuille
AfficheBOutils
pour celle-ci

Cela va cacher toutes les Sheets( Feuilles ou graphiques) du classeur
à partir de la deuxième.
Sheets(2) to ... . count
...puis lance les deux macros et enregistre.

.count fait le compte des Sheets donc ici le nom est ignoré on les appelle
par leur numéro d'index dans la collection.
s'il faut considèrer seulement feuille et pas graphique utiliser Worksheet
plutôt que Sheet et s'il faut considèrer celle à conserver par le nom ex
"Feuil1"

Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
If sh.Name <> Worksheets("Feuil1").Name Then _
sh.Visible = xlSheetVeryHidden
Next



'lSteph

cordialement
"YANN24" a écrit dans le message de news:

Bonjour,
je voudrais comprendre un code.
Hier, AnonymousA m'a expliquer un code qu'il m'avait donné. J'ai besoin
d'une dernière explication : que veut dire exactement ce qui suit ? Est ce
que ça va rendre invisible toutes mes feuilles (leurs noms sont très
différents, y a des chiffres et des lettres), MERCI.
Yann

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next
Sheets(18).Visible = True
For I = 2 To ThisWorkbook.Sheets.Count
Sheets(I).Visible = xlSheetVeryHidden
Next
ThisWorkbook.IsAddin = True

MasquerFeuille
AfficheBOutils

ActiveWorkbook.Save

End Sub