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
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
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
qu'est ce que je doit mettre a la place de toto et index car j'ai une erreur
dans mon programme
merciBonjour 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
qu'est ce que je doit mettre a la place de toto et index car j'ai une erreur
dans mon programme
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
qu'est ce que je doit mettre a la place de toto et index car j'ai une erreur
dans mon programme
merciBonjour 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
je réve, c'est pas possible :o(
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" a écrit dans le message de
news:
qu'est ce que je doit mettre a la place de toto et index car j'ai une
erreur
dans mon programme
merciBonjour 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
je réve, c'est pas possible :o(
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:0F09B6DC-A076-45E3-ADF2-615E8DAC837F@microsoft.com...
qu'est ce que je doit mettre a la place de toto et index car j'ai une
erreur
dans mon programme
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:
85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:
E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:
5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
je réve, c'est pas possible :o(
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" a écrit dans le message de
news:
qu'est ce que je doit mettre a la place de toto et index car j'ai une
erreur
dans mon programme
merciBonjour 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
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
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
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
Bonjour Jean,
'Déclaration de la variable : Première ligne
'du module ThisWorkbook
Public MasquerFeuilles As Boolean
'à copier ce qui suit dans le ThisWorkbook
'si c'est événement existe, tu copies seulement les lignes
'de code que tu places en tout début de procédure.
'---------------------------------
Private Sub Workbook_Activate()
If MasquerFeuilles = False Then
MasquerFeuilles = True
MasquerLesFeuilles
End If
End Sub
'---------------------------------
Private Sub Workbook_Open()
'la variable
MasquerFeuilles = True
'La procédure
MasquerLesFeuilles
End Sub
'---------------------------------
Dans un module standard :copie ceci
Seule la feuille Feuil5 (codename) sera visible.
Feuil5(Feuil1)
'---------------------
Sub MasquerLesFeuilles()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Feuil5")).Name Then
Sh.Visible = False
End If
Next
End Sub
'---------------------
P.S. C'est la dernière réponse que je t'adresse aujourd'hui. Tu as
suffisamment de matériel pour t'amuser bien au delà
de la soirée !
Bon travail.
Salutations!
"JEAN" a écrit dans le message de news:
qu'est ce que je doit mettre a la place de toto et index car j'ai une
erreur
dans mon programme
merciBonjour 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
Bonjour Jean,
'Déclaration de la variable : Première ligne
'du module ThisWorkbook
Public MasquerFeuilles As Boolean
'à copier ce qui suit dans le ThisWorkbook
'si c'est événement existe, tu copies seulement les lignes
'de code que tu places en tout début de procédure.
'---------------------------------
Private Sub Workbook_Activate()
If MasquerFeuilles = False Then
MasquerFeuilles = True
MasquerLesFeuilles
End If
End Sub
'---------------------------------
Private Sub Workbook_Open()
'la variable
MasquerFeuilles = True
'La procédure
MasquerLesFeuilles
End Sub
'---------------------------------
Dans un module standard :copie ceci
Seule la feuille Feuil5 (codename) sera visible.
Feuil5(Feuil1)
'---------------------
Sub MasquerLesFeuilles()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Feuil5")).Name Then
Sh.Visible = False
End If
Next
End Sub
'---------------------
P.S. C'est la dernière réponse que je t'adresse aujourd'hui. Tu as
suffisamment de matériel pour t'amuser bien au delà
de la soirée !
Bon travail.
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
0F09B6DC-A076-45E3-ADF2-615E8DAC837F@microsoft.com...
qu'est ce que je doit mettre a la place de toto et index car j'ai une
erreur
dans mon programme
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:
E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:
5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
Bonjour Jean,
'Déclaration de la variable : Première ligne
'du module ThisWorkbook
Public MasquerFeuilles As Boolean
'à copier ce qui suit dans le ThisWorkbook
'si c'est événement existe, tu copies seulement les lignes
'de code que tu places en tout début de procédure.
'---------------------------------
Private Sub Workbook_Activate()
If MasquerFeuilles = False Then
MasquerFeuilles = True
MasquerLesFeuilles
End If
End Sub
'---------------------------------
Private Sub Workbook_Open()
'la variable
MasquerFeuilles = True
'La procédure
MasquerLesFeuilles
End Sub
'---------------------------------
Dans un module standard :copie ceci
Seule la feuille Feuil5 (codename) sera visible.
Feuil5(Feuil1)
'---------------------
Sub MasquerLesFeuilles()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> Worksheets(ThisWorkbook. _
VBProject.VBComponents _
("Toto").Properties("Feuil5")).Name Then
Sh.Visible = False
End If
Next
End Sub
'---------------------
P.S. C'est la dernière réponse que je t'adresse aujourd'hui. Tu as
suffisamment de matériel pour t'amuser bien au delà
de la soirée !
Bon travail.
Salutations!
"JEAN" a écrit dans le message de news:
qu'est ce que je doit mettre a la place de toto et index car j'ai une
erreur
dans mon programme
merciBonjour 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
je réve, c'est pas possible :o(
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" a écrit dans le message de
news:qu'est ce que je doit mettre a la place de toto et index car j'ai
une erreur dans mon programme
merciBonjour 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
je réve, c'est pas possible :o(
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:0F09B6DC-A076-45E3-ADF2-615E8DAC837F@microsoft.com...
qu'est ce que je doit mettre a la place de toto et index car j'ai
une erreur dans mon programme
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news: 85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news: E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message
de news: 5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
je réve, c'est pas possible :o(
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" a écrit dans le message de
news:qu'est ce que je doit mettre a la place de toto et index car j'ai
une erreur dans mon programme
merciBonjour 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
c'est surtout de voir quelqu'un qui fait un truc, auquel il ne comprend rien, qui ne cherche ni a apprendre ni a comprendre. Pire,
je me demande si il comprend ses questions
je ressort le vieux proverbe "apprend à planter du riz, plutôt qu'à en donner"
c'est surtout de voir quelqu'un qui fait un truc, auquel il ne comprend rien, qui ne cherche ni a apprendre ni a comprendre. Pire,
je me demande si il comprend ses questions
je ressort le vieux proverbe "apprend à planter du riz, plutôt qu'à en donner"
c'est surtout de voir quelqu'un qui fait un truc, auquel il ne comprend rien, qui ne cherche ni a apprendre ni a comprendre. Pire,
je me demande si il comprend ses questions
je ressort le vieux proverbe "apprend à planter du riz, plutôt qu'à en donner"
;o)))
Non Pierre..., notre ami "Michel" ;o)))
est de l'école des NG "yankees"....
ce qui me fascine là-bas, c'est que des pointures telles que :
Ron deBruin, Tom Ogilvy, JW, Patterson, Pearson, Ritchie, Larson, Metha
j'en
passe...
puissent toujours répondre imperturbablement à des questions basiques,
qui pire qu'ici, sont encore plus rarement courtoisement posées ?????
JW m'a même confié, (étonné de ma prose...) sont parfois écrite dans un
anglais pire que ce que ici Clément appele "langue de chat"
cela frise le sacerdoce, Non ??? (terme qui te fera sourire ;o)))
je n'ai pas dis : ça sert d'os à ronger !!!!
;o)))
@+
Pierre CFI [mvp] wrote:je réve, c'est pas possible :o(
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" a écrit dans le message de
news:qu'est ce que je doit mettre a la place de toto et index car j'ai
une erreur dans mon programme
merciBonjour 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
;o)))
Non Pierre..., notre ami "Michel" ;o)))
est de l'école des NG "yankees"....
ce qui me fascine là-bas, c'est que des pointures telles que :
Ron deBruin, Tom Ogilvy, JW, Patterson, Pearson, Ritchie, Larson, Metha
j'en
passe...
puissent toujours répondre imperturbablement à des questions basiques,
qui pire qu'ici, sont encore plus rarement courtoisement posées ?????
JW m'a même confié, (étonné de ma prose...) sont parfois écrite dans un
anglais pire que ce que ici Clément appele "langue de chat"
cela frise le sacerdoce, Non ??? (terme qui te fera sourire ;o)))
je n'ai pas dis : ça sert d'os à ronger !!!!
;o)))
@+
Pierre CFI [mvp] wrote:
je réve, c'est pas possible :o(
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:0F09B6DC-A076-45E3-ADF2-615E8DAC837F@microsoft.com...
qu'est ce que je doit mettre a la place de toto et index car j'ai
une erreur dans mon programme
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news: 85D31119-4AE1-4292-8EE3-7F4501373D48@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message de
news: E5950B3F-A41C-4A67-AED9-B97740901422@microsoft.com...
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" <JEAN@discussions.microsoft.com> a écrit dans le message
de news: 5A9FE925-008F-42D4-994E-E9738DA1DDF1@microsoft.com...
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
;o)))
Non Pierre..., notre ami "Michel" ;o)))
est de l'école des NG "yankees"....
ce qui me fascine là-bas, c'est que des pointures telles que :
Ron deBruin, Tom Ogilvy, JW, Patterson, Pearson, Ritchie, Larson, Metha
j'en
passe...
puissent toujours répondre imperturbablement à des questions basiques,
qui pire qu'ici, sont encore plus rarement courtoisement posées ?????
JW m'a même confié, (étonné de ma prose...) sont parfois écrite dans un
anglais pire que ce que ici Clément appele "langue de chat"
cela frise le sacerdoce, Non ??? (terme qui te fera sourire ;o)))
je n'ai pas dis : ça sert d'os à ronger !!!!
;o)))
@+
Pierre CFI [mvp] wrote:je réve, c'est pas possible :o(
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"JEAN" a écrit dans le message de
news:qu'est ce que je doit mettre a la place de toto et index car j'ai
une erreur dans mon programme
merciBonjour 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