OVH Cloud OVH Cloud

fermeture de mon classeur

23 réponses
Avatar
JEAN
bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci

10 réponses

1 2 3
Avatar
michdenis
Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci
Avatar
JEAN
excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci






Avatar
michdenis
Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles 1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci






Avatar
JEAN
non une nouvelle feuille n'est pas géneré, elle l'ecrase au fait.

mais par rapport au code que tu m'a donnée, j'ai besoin d'avoir le bouton de
commande quitter dans mes feuilles de calcul.

que mettre dans le code du bouton de commande quitter.

merci

"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles 1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci











Avatar
JEAN
parce qu'au fait j'ai 2 feuille principale
donc la troisieme creer prendra janvier comme nom
en suite quand je ferme mon classeur via la commande quitter
je veux que toutes mes feuille soit masquer
et je n'aurai plus que la feuille 1 a chaque fois
donc je pointe sur le bouton et hop j'ai une autre feuille creer fevrier
qui sera masquer aussi
mais fevrier n'ecrasera pas janvier, elle sera a la suite et ensuite
quand je ferme mon classeur via le bouton de comande quitter a nouveau toute
mes feuilles sont masqué sauf la feuille1

quelle est le code que je doit mettre dans mon bouton de commande quitter
merci



"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles 1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci











Avatar
JEAN
j'ai executé ta macro, mais j'ai une erreur

dans " If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
que doit je mettre a la place de toto et Index moi je veux que toute mes

feuille soit masquer a part la feuil 1 qui a pour code name Feuil5(Feuil1)

merci

"JEAN" wrote:

non une nouvelle feuille n'est pas géneré, elle l'ecrase au fait.

mais par rapport au code que tu m'a donnée, j'ai besoin d'avoir le bouton de
commande quitter dans mes feuilles de calcul.

que mettre dans le code du bouton de commande quitter.

merci

"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles 1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci













Avatar
michdenis
Bonjour Jean,

Tu dois suivre la recette suivante pour mettre le code sous ton bouton de commande "Quitter"


A ) Modifie la procédure que je t'ai donné comme celle-là : Ou copie ceci aussi dans le ThisWorkbook
'-------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Cancel = True

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True
Fermeture = False
'Fermeture du classeur sans sauvegarde
Case vbNo
Cancel = False
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
Cancel = False
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select
End Sub
'-------------------------

B ) Copie cette macro dans un module standard et attache la à chacun de tes boutons de commande "quitter"

'------------------
Sub Fermer_le_Classeur()
Thisworkbook.close
End sub
'------------------


P.S. Cette procédure permet en tout temps à l'usager de choisir si il désire ou non sauvegarder les modifications qu'il
a effectué. À chaque fois qu'il répond oui, cela va fonctionner correctement ....dans le cas ou un usager a enregistrer
son travail à l'aide des commandes du menu et qu'il désire par la suite fermer son classeur, si il répond non à la
question, tes feuilles ne seront pas masquées à la réouverture ! Pour les masquer dans toutes circonstances, il faudrait
ne pas donner le choix à l'usager d'enregistrer ou non le classeur et le sauvegarder automatiquement à chaque fermeture.
le DANGER : qu'est-ce qui se passe si l'usager fait une gaffe et qu'il efface plusieurs données non voulues par une
erreur de manipulation ?
Il n'aura pas la possibilité de fermer tout simplement son fichier sans le sauvegarder et le rouvrir pour récupérer ses
données .

C'est pourquoi, je n'aime pas du tout ce type de procédure à la fermeture... elle devrait avoir lieu à l'ouverture du
classeur en utilisant la procédure événementielle : "Private Sub Workbook_Activate()"

à toi de voir quelles alternatives tu veux mettre de l'avant dans ton classeur.



Salutations!








"JEAN" a écrit dans le message de news:

parce qu'au fait j'ai 2 feuille principale
donc la troisieme creer prendra janvier comme nom
en suite quand je ferme mon classeur via la commande quitter
je veux que toutes mes feuille soit masquer
et je n'aurai plus que la feuille 1 a chaque fois
donc je pointe sur le bouton et hop j'ai une autre feuille creer fevrier
qui sera masquer aussi
mais fevrier n'ecrasera pas janvier, elle sera a la suite et ensuite
quand je ferme mon classeur via le bouton de comande quitter a nouveau toute
mes feuilles sont masqué sauf la feuille1

quelle est le code que je doit mettre dans mon bouton de commande quitter
merci



"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce
qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir
masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles
1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans
le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure
dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne
peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la
prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de
donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci











Avatar
JEAN
Bonsoir,

Ok d'acord je veux qu'a chaque ouverture de mon fichier toute les feuilles
soient masquées à part celle ci qui est Feuil5(Feuil1).

comment transformer mon code alors.

merci


Bonjour Jean,

Tu dois suivre la recette suivante pour mettre le code sous ton bouton de commande "Quitter"


A ) Modifie la procédure que je t'ai donné comme celle-là : Ou copie ceci aussi dans le ThisWorkbook
'-------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Cancel = True

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True
Fermeture = False
'Fermeture du classeur sans sauvegarde
Case vbNo
Cancel = False
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
Cancel = False
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select
End Sub
'-------------------------

B ) Copie cette macro dans un module standard et attache la à chacun de tes boutons de commande "quitter"

'------------------
Sub Fermer_le_Classeur()
Thisworkbook.close
End sub
'------------------


P.S. Cette procédure permet en tout temps à l'usager de choisir si il désire ou non sauvegarder les modifications qu'il
a effectué. À chaque fois qu'il répond oui, cela va fonctionner correctement ....dans le cas ou un usager a enregistrer
son travail à l'aide des commandes du menu et qu'il désire par la suite fermer son classeur, si il répond non à la
question, tes feuilles ne seront pas masquées à la réouverture ! Pour les masquer dans toutes circonstances, il faudrait
ne pas donner le choix à l'usager d'enregistrer ou non le classeur et le sauvegarder automatiquement à chaque fermeture.
le DANGER : qu'est-ce qui se passe si l'usager fait une gaffe et qu'il efface plusieurs données non voulues par une
erreur de manipulation ?
Il n'aura pas la possibilité de fermer tout simplement son fichier sans le sauvegarder et le rouvrir pour récupérer ses
données .

C'est pourquoi, je n'aime pas du tout ce type de procédure à la fermeture... elle devrait avoir lieu à l'ouverture du
classeur en utilisant la procédure événementielle : "Private Sub Workbook_Activate()"

à toi de voir quelles alternatives tu veux mettre de l'avant dans ton classeur.



Salutations!








"JEAN" a écrit dans le message de news:

parce qu'au fait j'ai 2 feuille principale
donc la troisieme creer prendra janvier comme nom
en suite quand je ferme mon classeur via la commande quitter
je veux que toutes mes feuille soit masquer
et je n'aurai plus que la feuille 1 a chaque fois
donc je pointe sur le bouton et hop j'ai une autre feuille creer fevrier
qui sera masquer aussi
mais fevrier n'ecrasera pas janvier, elle sera a la suite et ensuite
quand je ferme mon classeur via le bouton de comande quitter a nouveau toute
mes feuilles sont masqué sauf la feuille1

quelle est le code que je doit mettre dans mon bouton de commande quitter
merci



"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce
qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir
masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles
1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans
le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure
dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne
peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la
prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de
donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci
















Avatar
JEAN
ok d'acord , mais je veux qu'a chaque fois mon fichier s'ouvre. toutes les
feuilles sont masquer à part celle ci
Feuil5(Feuil1)

comment transformer le code alors

merci



Bonjour Jean,

Tu dois suivre la recette suivante pour mettre le code sous ton bouton de commande "Quitter"


A ) Modifie la procédure que je t'ai donné comme celle-là : Ou copie ceci aussi dans le ThisWorkbook
'-------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Cancel = True

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True
Fermeture = False
'Fermeture du classeur sans sauvegarde
Case vbNo
Cancel = False
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
Cancel = False
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select
End Sub
'-------------------------

B ) Copie cette macro dans un module standard et attache la à chacun de tes boutons de commande "quitter"

'------------------
Sub Fermer_le_Classeur()
Thisworkbook.close
End sub
'------------------


P.S. Cette procédure permet en tout temps à l'usager de choisir si il désire ou non sauvegarder les modifications qu'il
a effectué. À chaque fois qu'il répond oui, cela va fonctionner correctement ....dans le cas ou un usager a enregistrer
son travail à l'aide des commandes du menu et qu'il désire par la suite fermer son classeur, si il répond non à la
question, tes feuilles ne seront pas masquées à la réouverture ! Pour les masquer dans toutes circonstances, il faudrait
ne pas donner le choix à l'usager d'enregistrer ou non le classeur et le sauvegarder automatiquement à chaque fermeture.
le DANGER : qu'est-ce qui se passe si l'usager fait une gaffe et qu'il efface plusieurs données non voulues par une
erreur de manipulation ?
Il n'aura pas la possibilité de fermer tout simplement son fichier sans le sauvegarder et le rouvrir pour récupérer ses
données .

C'est pourquoi, je n'aime pas du tout ce type de procédure à la fermeture... elle devrait avoir lieu à l'ouverture du
classeur en utilisant la procédure événementielle : "Private Sub Workbook_Activate()"

à toi de voir quelles alternatives tu veux mettre de l'avant dans ton classeur.



Salutations!








"JEAN" a écrit dans le message de news:

parce qu'au fait j'ai 2 feuille principale
donc la troisieme creer prendra janvier comme nom
en suite quand je ferme mon classeur via la commande quitter
je veux que toutes mes feuille soit masquer
et je n'aurai plus que la feuille 1 a chaque fois
donc je pointe sur le bouton et hop j'ai une autre feuille creer fevrier
qui sera masquer aussi
mais fevrier n'ecrasera pas janvier, elle sera a la suite et ensuite
quand je ferme mon classeur via le bouton de comande quitter a nouveau toute
mes feuilles sont masqué sauf la feuille1

quelle est le code que je doit mettre dans mon bouton de commande quitter
merci



"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2 j'ai un onglet qui vient se rajouter et se nomme
janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la feuille 4 Finonglet= ActiveSheet[A15]' "

**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur clique plus d'une fois sur ton bouton ? Est-ce
qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton programme ? Si oui, ton programme va devoir
masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant
le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter dans chaque feuille, masquer toute les feuilles
1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je te propose une procédure que tu copieras dans
le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle qui se produit à chaque fois que tu fermes le
classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au moins une feuille doit demeurer visible

B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu désigneras toi même dans le code.
Il faut être conscient que si l'usager modifie le nom de l'onglet de la feuille devant demeurer visible, la
procédure n'aimera pas ça et elle plantera. IL y a une façon de contourner ceci : Lorsque tu copieras la procédure
dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par le nom de la feuille QUE TU VOIS DANS LA LISTE
DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette forme.

Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de ton classeur, regarde la commande "Outils /
protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de news:

excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas le
mois.

et je voudrai quand je ferme mon classeur via un bouton de commande qui se
nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et la
feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande qui me
permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande quitter, pour
que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les feuilles qu'il contient se fermeront ...on ne
peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire "masquer" au lieu de fermer.

"une feuille qui est genere automatiquement qui porte le nom janvier fevrier mars avril....a savoir qu'a la
prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que tu veux. Tu as tout l'espace que tu veux, tu n'es
pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le voient pas ton classeur .... c'est à toi de
donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des feuilles, as-tu pensé à combien de feuilles tu auras au
bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de news:

bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande quitter,
toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une feuille
qui est genere automatiquement qui porte le nom janvier fevrier mars avril....
a savoir qu'a la prochaine ouverture je veux que janvier soit caché merci
















Avatar
Dédé
Salut Jean !

Et l'aide de Excel ??? est-ce que tu a tester cela :

Visible, propriété

Spécifie si un objet est masqué ou affiché.
Syntaxe
object.Visible [= Boolean]
La syntaxe de la propriété Visible comprend les éléments suivants :
ÉlémentDescription
objectObjet valide.
BooleanFacultatif. Spécifie si l'objet est masqué ou affiché.


Valeurs
Les valeurs de Boolean sont les suivantes :
ValeurDescription
TrueL'objet est visible (par défaut).
FalseL'objet est masqué.


Remarques
Utilisez la propriété Visible pour commander l'accès aux informations sans
les afficher. Par exemple, vous pouvez utiliser la valeur d'un contrôle sur
une feuille masquée comme le critère d'une requête.
Tous les contrôles sont visibles au moment de la conception.

Essaie de te servir de l'aide ! tu verra que toutes (ou presque ...;-)) les
questions que tu peux te poser trouvent réponse dans l'aide !

Salutations
Dédé

"JEAN" a écrit dans le message de
news:
Bonsoir,

Ok d'acord je veux qu'a chaque ouverture de mon fichier toute les feuilles
soient masquées à part celle ci qui est Feuil5(Feuil1).

comment transformer mon code alors.

merci


Bonjour Jean,

Tu dois suivre la recette suivante pour mettre le code sous ton bouton
de commande "Quitter"




A ) Modifie la procédure que je t'ai donné comme celle-là : Ou copie
ceci aussi dans le ThisWorkbook


'-------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Cancel = True

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True
Fermeture = False
'Fermeture du classeur sans sauvegarde
Case vbNo
Cancel = False
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
Cancel = False
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select
End Sub
'-------------------------

B ) Copie cette macro dans un module standard et attache la à chacun de
tes boutons de commande "quitter"



'------------------
Sub Fermer_le_Classeur()
Thisworkbook.close
End sub
'------------------


P.S. Cette procédure permet en tout temps à l'usager de choisir si il
désire ou non sauvegarder les modifications qu'il


a effectué. À chaque fois qu'il répond oui, cela va fonctionner
correctement ....dans le cas ou un usager a enregistrer


son travail à l'aide des commandes du menu et qu'il désire par la suite
fermer son classeur, si il répond non à la


question, tes feuilles ne seront pas masquées à la réouverture ! Pour
les masquer dans toutes circonstances, il faudrait


ne pas donner le choix à l'usager d'enregistrer ou non le classeur et le
sauvegarder automatiquement à chaque fermeture.


le DANGER : qu'est-ce qui se passe si l'usager fait une gaffe et qu'il
efface plusieurs données non voulues par une


erreur de manipulation ?
Il n'aura pas la possibilité de fermer tout simplement son fichier sans
le sauvegarder et le rouvrir pour récupérer ses


données .

C'est pourquoi, je n'aime pas du tout ce type de procédure à la
fermeture... elle devrait avoir lieu à l'ouverture du


classeur en utilisant la procédure événementielle : "Private Sub
Workbook_Activate()"



à toi de voir quelles alternatives tu veux mettre de l'avant dans ton
classeur.





Salutations!








"JEAN" a écrit dans le message de news:

parce qu'au fait j'ai 2 feuille principale
donc la troisieme creer prendra janvier comme nom
en suite quand je ferme mon classeur via la commande quitter
je veux que toutes mes feuille soit masquer
et je n'aurai plus que la feuille 1 a chaque fois
donc je pointe sur le bouton et hop j'ai une autre feuille creer fevrier
qui sera masquer aussi
mais fevrier n'ecrasera pas janvier, elle sera a la suite et ensuite
quand je ferme mon classeur via le bouton de comande quitter a nouveau
toute


mes feuilles sont masqué sauf la feuille1

quelle est le code que je doit mettre dans mon bouton de commande
quitter


merci



"michdenis" wrote:

Bonjour Jean,


Voici mes commentaire :
--------------------------
" chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme



janvier.
donc 4 feuille au total Sheets(""& Finonglet)'correspond à la
feuille 4 Finonglet= ActiveSheet[A15]' "




**** Dis moi Jean, qu'est-ce qui se passe si l'usager du classeur
clique plus d'une fois sur ton bouton ? Est-ce



qu'une
nouvelle feuille est générée ? Si oui, Est-ce un effet voulu par ton
programme ? Si oui, ton programme va devoir



masquer
plus de 3 feuilles à la fermeture. !!! Si non, As-tu un message
d'erreur ? Un Classeur ne peut avoir 2 feuilles ayant



le même nom !

---------------------------

" je ferme mon classeur via un bouton de commande qui se nomme quitter
dans chaque feuille, masquer toute les feuilles



1
2 3 et la feuille janvier (feuil4). "

**** Au lieu d'utiliser un bouton de fermeture dans chaque feuille, je
te propose une procédure que tu copieras dans



le
THISWORKBOOK de ton classeur. C'est aussi une procédure événementielle
qui se produit à chaque fois que tu fermes le



classeur.

à propos de cette procédure :

A ) Il est impossible de masquer toutes les feuilles d'un classeur. Au
moins une feuille doit demeurer visible




B ) Toutes les feuilles de ton classeur se masquera sauf celle que tu
désigneras toi même dans le code.



Il faut être conscient que si l'usager modifie le nom de l'onglet
de la feuille devant demeurer visible, la



procédure n'aimera pas ça et elle plantera. IL y a une façon de
contourner ceci : Lorsque tu copieras la procédure



dans
le ThisWorkBook de ton classeur, Remplace "Toto" dans la procédure par
le nom de la feuille QUE TU VOIS DANS LA LISTE



DES OBJETS SOUS LE VBAPROJECT DE TON CLASSEUR.
Dans cette fenêtre les noms des feuilles apparaissent dans cette
forme.




Feuil1(Feuil1)
Feuil1 = CodeName de ta feuille
(Feuil1) = Nom de l'onglet de ta feuille.

Tu dois remplacer toto par le codeName de ta feuille.

'---------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Res As VbMsgBoxResult

Res = MsgBox("Désirez vous enregistrer " & _
"les modifications du classeur : " _
& ThisWorkbook.Name, vbInformation + vbYesNoCancel, _
"Enregistrer")

Select Case Res
'L'usage annule la fermeture du classeur
Case vbCancel
Cancel = True

'Fermeture du classeur sans sauvegarde
Case vbNo
ThisWorkbook.Saved = True

'Fermeture du classeur avec sauvegarde
Case vbYes
For Each sh In Worksheets
If sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Index")).Name Then
sh.Visible = False
End If
Next
ThisWorkbook.Save
End Select

End Sub
'---------------------------------------------

P.S. Si tu ne veux pas qu'un usager puisse "Supprimer" une feuille de
ton classeur, regarde la commande "Outils /



protection / Protéger le classeur.


Salutations!




"JEAN" a écrit dans le message de
news:




excuse moi pour ne pas avoir etait assez precis

je t'explique:

J'ai trois feuilles dans mon classeur.
chaque moi en appuyant sur le bouton de commande de la feuille 2
j'ai un onglet qui vient se rajouter et se nomme janvier.
donc 4 feuille au total
Sheets(""& Finonglet)'correspond à la feuille 4
Finonglet= ActiveSheet[A15]'
au fait a chaque fois je recupererai la valeur dans A15 , dans mon cas
le



mois.

et je voudrai quand je ferme mon classeur via un bouton de commande
qui se



nomme quitter dans chaque feuille, masquer toute les feuilles 1 2 3 et
la



feuille janvier (feuil4).

ensuite quand je réouvre mon classeur j'ai trois bouton de commande
qui me



permette de dire ouvrir feuille1, feuill2,feuil3

donc quand j'appuierai sur le bouton de commande feuille1 j'ouvrirai
feuille1 et les autre seront masquer.

mon probleme est quelle code mettre dans le bouton de commande
quitter, pour



que toute mes feuilles se masque a chaque fois.

merci

"michdenis" wrote:

Bonjour Jean,

toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3
**** Quand tu fermes un classeur, tu n'as pas le choix, toutes les
feuilles qu'il contient se fermeront ...on ne




peut
pas fermer une feuille à la fois.... à moins que tu veuilles dire
"masquer" au lieu de fermer.





"une feuille qui est genere automatiquement qui porte le nom janvier
fevrier mars avril....a savoir qu'a la




prochaine
ouverture je veux que janvier soit caché"
**** Il va falloir que tu expliques car je ne comprends pas ce que
tu veux. Tu as tout l'espace que tu veux, tu n'es




pas
obligé de ficeler ta demande dans une phrase ! Les répondeurs ne le
voient pas ton classeur .... c'est à toi de




donner
toutes les précisions que tu veux....

Si à chaque fois que tu fermes ton classeur, tu génères des
feuilles, as-tu pensé à combien de feuilles tu auras au




bout
d'une semaine, d'un mois de travail ?


Salutations!




"JEAN" a écrit dans le message de
news:





bonjour ,

Bonjour,
Je voudrai quand je ferme mon classeur via le bouton de commande
quitter,




toutes mes feuilles ouvertes se ferme, FEUIL1,FEUIL2,FEUIL3 et une
feuille




qui est genere automatiquement qui porte le nom janvier fevrier mars
avril....




a savoir qu'a la prochaine ouverture je veux que janvier soit caché
merci






















1 2 3