Bonjour Lsteph et J-pascal
restons courtois et sereins
Effectivement, J-pascal est coincé, mais il faut débuter un jour, bre f, il
veut interdire aux utilisateurs de faire telle ou telle chose. les frustr er...
Moi je dis que l'utilisateur doit resté libre d'utiliser Excel comme il
l'entend
J'ai débuté en truffant les classeurs de procédure événements, ouvrir,
fermer, enregistrer, sélection... et j'ai eu des problèmes comme lui avec les
ENEANBLEEVENTS.
Bref, désormais, quand je donne un classeur en saisie à l'utilisateur , je le
laisse libre. Il doit seulement respecter les consignes. Il peut même
bricoler s'il le veut, sous réserve que ça ne plante pas le processus
De toute manière si ça plante, il te téléphonera pour dire "ca ne marche
pas" et tu iras lui sauver le vie, tu lui passe un savon s'il à trop br icolé.
et tu renforces un peu ton code... naturellement, il est indispensable qu e
ton code ne soit pas dans le classeur lui-même, car tu auras un gros pr oblème
de déploiement. mais c'est une autre histoire trop longue ce matin
Bon courage j-Pascal et soi plus cool avec les utilisateurs
--
Papyjac
"LSteph" a écrit :
> ...mais un enableevents reste de toutes façons possible
>
> (..entre autres)..
>
> --
> lSteph
>
> (aussi bien d'ailleurs pour qui veut déjouer ces inutiles tentatives de
> sécurisation.)
>
> j-pascal a écrit :
> > Bonsoir,
> >
> > Je deviens fou avec ce : "Private Sub Workbook_BeforeSave(ByVal SaveA sUI
> > As Boolean, Cancel As Boolean)"
> >
> > Je pense que le pb est là (à part moi, bien sûr !!)
> >
> > Comment est-il possible de shunter l'option "Enregistrer sous" ?
> >
> > Imaginons qu'il y ait certaines actions effectuées avant la fermetu re du
> > classeur ... Si je mets un test conditionnel tel que : "If SaveAsUI
> > Then Cancel = True", mon classeur reste ouvert et je ne peux pas
> > "reboucler" vers la fermeture "classique" que j'avais prévu si
> > l'utilisateur n'avait pas eu la mauvaise idée de vouloir l'enregist rer
> > ailleurs que là où je voulais qu'il soit !!!
> >
> > Je ne comprends pas qu'il ne soit pas plus aisé de shunter cette op tion
> > ! Quoiqu'il en soit, je ne m'en sors pas et à l'heure qu'il est j'a i
> > plutôt envie de passer tout le classeur à "Eraser.exe"...
> >
> > JP
> >
> > PS : j'ai essayé les 3 cas de figures que tu proposes. Je n'ai rien vu
> > d'anormal. Je pense qu'il y a un mode de fermeture que je n'ai pas d û
> > reproduire ; l'ouverture est donc normale.
> >
> >> Bonjour J-pascal,
> >>
> >> Je comprends qu'il y a 3 scénarios de tests :
> >> 1 ouvrir Excel en ouvrant le classeur 2. Ouvrir le classeur alors
> >> qu'Excel est déjà ouvert
> >> 3. Ouvrir le classeur alors qu'Excel est ouvert et qu'on a fermé l e
> >> classeur précédent
> >>
> >> Tu mets stop dans Workbook_Open, et tu regardes le comportement dans
> >> les 3 cas J'ai comme l'impression que les évènements sont inhib és dans
> >> le 3ème cas
> >>
> >> --
> >> Papyjac
> >>
> >>
> >> "j-pascal" a écrit :
> >>
> >>> Re,
> >>>
> >>> Je laisse le message me demandant d'activer ou pas les macros, en
> >>> "manuel". Dans le cas que j'ai décrit, j'ai bien entendu "accept é"
> >>> les macros !
> >>> Le pb c'est que si je ferme Excel, ça fonctionne ; si je ferme ju ste
> >>> le classeur (en particulier avec un essai sur "enregistrer sous"),
> >>> l'ouverture suivante n'active pas le Workbook_open !!!
> >>>
> >>> Suis perdu ;-(
> >>>
> >>> JP
> >>>
> >>>> Bonjour J-pascal
> >>>>
> >>>> Il faut que le niveau de sécurité macro sous moyen ou inféri eure
> >>>>
> >>>> Mets une instruction STOP dans la procédure pour voir si le code
> >>>> s'arrête dessus 1. s'il s'arrête tu continue en pas à pas
> >>>> 2. s'il ne s'arrête pas c'est que les macro sous inactive
> >>>>
> >>>> --
> >>>> Papyjac
> >>>>
> >>>>
> >>>> "j-pascal" a écrit :
> >>>>
> >>>>> Bonjour,
> >>>>>
> >>>>> Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
> >>>>> l'ouverture du classeur !
> >>>>>
> >>>>> '-------
> >>>>> Private Sub Workbook_Open()
> >>>>> Dim Sh As Worksheet
> >>>>>
> >>>>> Application.ScreenUpdating = False
> >>>>> Call ProchaineAlerte
> >>>>>
> >>>>> For Each Sh In ThisWorkbook.Sheets
> >>>>> Sh.Visible = xlSheetVisible
> >>>>> Next
> >>>>> etc.
> >>>>> '--------
> >>>>>
> >>>>> La sortie :
> >>>>>
> >>>>> '--------
> >>>>> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
> >>>>> As Boolean)
> >>>>>
> >>>>> etc.
> >>>>>
> >>>>> 'Application.EnableEvents = True
> >>>>> ThisWorkbook.Close True 'ajout 7/12
> >>>>> End Sub
> >>>>> '--------
> >>>>>
> >>>>> Ca fonctionne si je ferme Excel et que je rouvre le classeur !
> >>>>> L'ajout d'un "Application.EnableEvents = True" en sortie ne cha nge
> >>>>> rien, donc je suis un peu perdu !
> >>>>>
> >>>>> Merci pour votre aide,
> >>>>>
> >>>>> JP
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>>
> >
> >
>
Bonjour Lsteph et J-pascal
restons courtois et sereins
Effectivement, J-pascal est coincé, mais il faut débuter un jour, bre f, il
veut interdire aux utilisateurs de faire telle ou telle chose. les frustr er...
Moi je dis que l'utilisateur doit resté libre d'utiliser Excel comme il
l'entend
J'ai débuté en truffant les classeurs de procédure événements, ouvrir,
fermer, enregistrer, sélection... et j'ai eu des problèmes comme lui avec les
ENEANBLEEVENTS.
Bref, désormais, quand je donne un classeur en saisie à l'utilisateur , je le
laisse libre. Il doit seulement respecter les consignes. Il peut même
bricoler s'il le veut, sous réserve que ça ne plante pas le processus
De toute manière si ça plante, il te téléphonera pour dire "ca ne marche
pas" et tu iras lui sauver le vie, tu lui passe un savon s'il à trop br icolé.
et tu renforces un peu ton code... naturellement, il est indispensable qu e
ton code ne soit pas dans le classeur lui-même, car tu auras un gros pr oblème
de déploiement. mais c'est une autre histoire trop longue ce matin
Bon courage j-Pascal et soi plus cool avec les utilisateurs
--
Papyjac
"LSteph" a écrit :
> ...mais un enableevents reste de toutes façons possible
>
> (..entre autres)..
>
> --
> lSteph
>
> (aussi bien d'ailleurs pour qui veut déjouer ces inutiles tentatives de
> sécurisation.)
>
> j-pascal a écrit :
> > Bonsoir,
> >
> > Je deviens fou avec ce : "Private Sub Workbook_BeforeSave(ByVal SaveA sUI
> > As Boolean, Cancel As Boolean)"
> >
> > Je pense que le pb est là (à part moi, bien sûr !!)
> >
> > Comment est-il possible de shunter l'option "Enregistrer sous" ?
> >
> > Imaginons qu'il y ait certaines actions effectuées avant la fermetu re du
> > classeur ... Si je mets un test conditionnel tel que : "If SaveAsUI
> > Then Cancel = True", mon classeur reste ouvert et je ne peux pas
> > "reboucler" vers la fermeture "classique" que j'avais prévu si
> > l'utilisateur n'avait pas eu la mauvaise idée de vouloir l'enregist rer
> > ailleurs que là où je voulais qu'il soit !!!
> >
> > Je ne comprends pas qu'il ne soit pas plus aisé de shunter cette op tion
> > ! Quoiqu'il en soit, je ne m'en sors pas et à l'heure qu'il est j'a i
> > plutôt envie de passer tout le classeur à "Eraser.exe"...
> >
> > JP
> >
> > PS : j'ai essayé les 3 cas de figures que tu proposes. Je n'ai rien vu
> > d'anormal. Je pense qu'il y a un mode de fermeture que je n'ai pas d û
> > reproduire ; l'ouverture est donc normale.
> >
> >> Bonjour J-pascal,
> >>
> >> Je comprends qu'il y a 3 scénarios de tests :
> >> 1 ouvrir Excel en ouvrant le classeur 2. Ouvrir le classeur alors
> >> qu'Excel est déjà ouvert
> >> 3. Ouvrir le classeur alors qu'Excel est ouvert et qu'on a fermé l e
> >> classeur précédent
> >>
> >> Tu mets stop dans Workbook_Open, et tu regardes le comportement dans
> >> les 3 cas J'ai comme l'impression que les évènements sont inhib és dans
> >> le 3ème cas
> >>
> >> --
> >> Papyjac
> >>
> >>
> >> "j-pascal" a écrit :
> >>
> >>> Re,
> >>>
> >>> Je laisse le message me demandant d'activer ou pas les macros, en
> >>> "manuel". Dans le cas que j'ai décrit, j'ai bien entendu "accept é"
> >>> les macros !
> >>> Le pb c'est que si je ferme Excel, ça fonctionne ; si je ferme ju ste
> >>> le classeur (en particulier avec un essai sur "enregistrer sous"),
> >>> l'ouverture suivante n'active pas le Workbook_open !!!
> >>>
> >>> Suis perdu ;-(
> >>>
> >>> JP
> >>>
> >>>> Bonjour J-pascal
> >>>>
> >>>> Il faut que le niveau de sécurité macro sous moyen ou inféri eure
> >>>>
> >>>> Mets une instruction STOP dans la procédure pour voir si le code
> >>>> s'arrête dessus 1. s'il s'arrête tu continue en pas à pas
> >>>> 2. s'il ne s'arrête pas c'est que les macro sous inactive
> >>>>
> >>>> --
> >>>> Papyjac
> >>>>
> >>>>
> >>>> "j-pascal" a écrit :
> >>>>
> >>>>> Bonjour,
> >>>>>
> >>>>> Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
> >>>>> l'ouverture du classeur !
> >>>>>
> >>>>> '-------
> >>>>> Private Sub Workbook_Open()
> >>>>> Dim Sh As Worksheet
> >>>>>
> >>>>> Application.ScreenUpdating = False
> >>>>> Call ProchaineAlerte
> >>>>>
> >>>>> For Each Sh In ThisWorkbook.Sheets
> >>>>> Sh.Visible = xlSheetVisible
> >>>>> Next
> >>>>> etc.
> >>>>> '--------
> >>>>>
> >>>>> La sortie :
> >>>>>
> >>>>> '--------
> >>>>> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
> >>>>> As Boolean)
> >>>>>
> >>>>> etc.
> >>>>>
> >>>>> 'Application.EnableEvents = True
> >>>>> ThisWorkbook.Close True 'ajout 7/12
> >>>>> End Sub
> >>>>> '--------
> >>>>>
> >>>>> Ca fonctionne si je ferme Excel et que je rouvre le classeur !
> >>>>> L'ajout d'un "Application.EnableEvents = True" en sortie ne cha nge
> >>>>> rien, donc je suis un peu perdu !
> >>>>>
> >>>>> Merci pour votre aide,
> >>>>>
> >>>>> JP
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>>
> >
> >
>
Bonjour Lsteph et J-pascal
restons courtois et sereins
Effectivement, J-pascal est coincé, mais il faut débuter un jour, bre f, il
veut interdire aux utilisateurs de faire telle ou telle chose. les frustr er...
Moi je dis que l'utilisateur doit resté libre d'utiliser Excel comme il
l'entend
J'ai débuté en truffant les classeurs de procédure événements, ouvrir,
fermer, enregistrer, sélection... et j'ai eu des problèmes comme lui avec les
ENEANBLEEVENTS.
Bref, désormais, quand je donne un classeur en saisie à l'utilisateur , je le
laisse libre. Il doit seulement respecter les consignes. Il peut même
bricoler s'il le veut, sous réserve que ça ne plante pas le processus
De toute manière si ça plante, il te téléphonera pour dire "ca ne marche
pas" et tu iras lui sauver le vie, tu lui passe un savon s'il à trop br icolé.
et tu renforces un peu ton code... naturellement, il est indispensable qu e
ton code ne soit pas dans le classeur lui-même, car tu auras un gros pr oblème
de déploiement. mais c'est une autre histoire trop longue ce matin
Bon courage j-Pascal et soi plus cool avec les utilisateurs
--
Papyjac
"LSteph" a écrit :
> ...mais un enableevents reste de toutes façons possible
>
> (..entre autres)..
>
> --
> lSteph
>
> (aussi bien d'ailleurs pour qui veut déjouer ces inutiles tentatives de
> sécurisation.)
>
> j-pascal a écrit :
> > Bonsoir,
> >
> > Je deviens fou avec ce : "Private Sub Workbook_BeforeSave(ByVal SaveA sUI
> > As Boolean, Cancel As Boolean)"
> >
> > Je pense que le pb est là (à part moi, bien sûr !!)
> >
> > Comment est-il possible de shunter l'option "Enregistrer sous" ?
> >
> > Imaginons qu'il y ait certaines actions effectuées avant la fermetu re du
> > classeur ... Si je mets un test conditionnel tel que : "If SaveAsUI
> > Then Cancel = True", mon classeur reste ouvert et je ne peux pas
> > "reboucler" vers la fermeture "classique" que j'avais prévu si
> > l'utilisateur n'avait pas eu la mauvaise idée de vouloir l'enregist rer
> > ailleurs que là où je voulais qu'il soit !!!
> >
> > Je ne comprends pas qu'il ne soit pas plus aisé de shunter cette op tion
> > ! Quoiqu'il en soit, je ne m'en sors pas et à l'heure qu'il est j'a i
> > plutôt envie de passer tout le classeur à "Eraser.exe"...
> >
> > JP
> >
> > PS : j'ai essayé les 3 cas de figures que tu proposes. Je n'ai rien vu
> > d'anormal. Je pense qu'il y a un mode de fermeture que je n'ai pas d û
> > reproduire ; l'ouverture est donc normale.
> >
> >> Bonjour J-pascal,
> >>
> >> Je comprends qu'il y a 3 scénarios de tests :
> >> 1 ouvrir Excel en ouvrant le classeur 2. Ouvrir le classeur alors
> >> qu'Excel est déjà ouvert
> >> 3. Ouvrir le classeur alors qu'Excel est ouvert et qu'on a fermé l e
> >> classeur précédent
> >>
> >> Tu mets stop dans Workbook_Open, et tu regardes le comportement dans
> >> les 3 cas J'ai comme l'impression que les évènements sont inhib és dans
> >> le 3ème cas
> >>
> >> --
> >> Papyjac
> >>
> >>
> >> "j-pascal" a écrit :
> >>
> >>> Re,
> >>>
> >>> Je laisse le message me demandant d'activer ou pas les macros, en
> >>> "manuel". Dans le cas que j'ai décrit, j'ai bien entendu "accept é"
> >>> les macros !
> >>> Le pb c'est que si je ferme Excel, ça fonctionne ; si je ferme ju ste
> >>> le classeur (en particulier avec un essai sur "enregistrer sous"),
> >>> l'ouverture suivante n'active pas le Workbook_open !!!
> >>>
> >>> Suis perdu ;-(
> >>>
> >>> JP
> >>>
> >>>> Bonjour J-pascal
> >>>>
> >>>> Il faut que le niveau de sécurité macro sous moyen ou inféri eure
> >>>>
> >>>> Mets une instruction STOP dans la procédure pour voir si le code
> >>>> s'arrête dessus 1. s'il s'arrête tu continue en pas à pas
> >>>> 2. s'il ne s'arrête pas c'est que les macro sous inactive
> >>>>
> >>>> --
> >>>> Papyjac
> >>>>
> >>>>
> >>>> "j-pascal" a écrit :
> >>>>
> >>>>> Bonjour,
> >>>>>
> >>>>> Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
> >>>>> l'ouverture du classeur !
> >>>>>
> >>>>> '-------
> >>>>> Private Sub Workbook_Open()
> >>>>> Dim Sh As Worksheet
> >>>>>
> >>>>> Application.ScreenUpdating = False
> >>>>> Call ProchaineAlerte
> >>>>>
> >>>>> For Each Sh In ThisWorkbook.Sheets
> >>>>> Sh.Visible = xlSheetVisible
> >>>>> Next
> >>>>> etc.
> >>>>> '--------
> >>>>>
> >>>>> La sortie :
> >>>>>
> >>>>> '--------
> >>>>> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
> >>>>> As Boolean)
> >>>>>
> >>>>> etc.
> >>>>>
> >>>>> 'Application.EnableEvents = True
> >>>>> ThisWorkbook.Close True 'ajout 7/12
> >>>>> End Sub
> >>>>> '--------
> >>>>>
> >>>>> Ca fonctionne si je ferme Excel et que je rouvre le classeur !
> >>>>> L'ajout d'un "Application.EnableEvents = True" en sortie ne cha nge
> >>>>> rien, donc je suis un peu perdu !
> >>>>>
> >>>>> Merci pour votre aide,
> >>>>>
> >>>>> JP
> >>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>>
> >
> >
>
Bonjour,
;-)
j'ai dû rater le message où qq'un ne serait ou pas serein ou pas
courtois..????
Il est clair pour moi que ces protection sont bonnes que pour ceux qui
le veulent.
La confiance va dans nombre de cas ou juste se préserver des erreurs
(protection sommaire)
@+
--
lsteph
Papyjac a écrit :
> Bonjour Lsteph et J-pascal
>
> restons courtois et sereins
>
> Effectivement, J-pascal est coincé, mais il faut débuter un jour, bref, il
> veut interdire aux utilisateurs de faire telle ou telle chose. les frustrer...
>
> Moi je dis que l'utilisateur doit resté libre d'utiliser Excel comme il
> l'entend
>
> J'ai débuté en truffant les classeurs de procédure événements, ouvrir,
> fermer, enregistrer, sélection... et j'ai eu des problèmes comme lui avec les
> ENEANBLEEVENTS.
>
> Bref, désormais, quand je donne un classeur en saisie à l'utilisateur, je le
> laisse libre. Il doit seulement respecter les consignes. Il peut même
> bricoler s'il le veut, sous réserve que ça ne plante pas le processus
>
> De toute manière si ça plante, il te téléphonera pour dire "ca ne marche
> pas" et tu iras lui sauver le vie, tu lui passe un savon s'il à trop bricolé.
> et tu renforces un peu ton code... naturellement, il est indispensable que
> ton code ne soit pas dans le classeur lui-même, car tu auras un gros problème
> de déploiement. mais c'est une autre histoire trop longue ce matin
>
> Bon courage j-Pascal et soi plus cool avec les utilisateurs
>
> --
> Papyjac
>
>
> "LSteph" a écrit :
>
> > ...mais un enableevents reste de toutes façons possible
> >
> > (..entre autres)..
> >
> > --
> > lSteph
> >
> > (aussi bien d'ailleurs pour qui veut déjouer ces inutiles tentatives de
> > sécurisation.)
> >
> > j-pascal a écrit :
> > > Bonsoir,
> > >
> > > Je deviens fou avec ce : "Private Sub Workbook_BeforeSave(ByVal SaveAsUI
> > > As Boolean, Cancel As Boolean)"
> > >
> > > Je pense que le pb est là (à part moi, bien sûr !!)
> > >
> > > Comment est-il possible de shunter l'option "Enregistrer sous" ?
> > >
> > > Imaginons qu'il y ait certaines actions effectuées avant la fermeture du
> > > classeur ... Si je mets un test conditionnel tel que : "If SaveAsUI
> > > Then Cancel = True", mon classeur reste ouvert et je ne peux pas
> > > "reboucler" vers la fermeture "classique" que j'avais prévu si
> > > l'utilisateur n'avait pas eu la mauvaise idée de vouloir l'enregistrer
> > > ailleurs que là où je voulais qu'il soit !!!
> > >
> > > Je ne comprends pas qu'il ne soit pas plus aisé de shunter cette option
> > > ! Quoiqu'il en soit, je ne m'en sors pas et à l'heure qu'il est j'ai
> > > plutôt envie de passer tout le classeur à "Eraser.exe"...
> > >
> > > JP
> > >
> > > PS : j'ai essayé les 3 cas de figures que tu proposes. Je n'ai rien vu
> > > d'anormal. Je pense qu'il y a un mode de fermeture que je n'ai pas dû
> > > reproduire ; l'ouverture est donc normale.
> > >
> > >> Bonjour J-pascal,
> > >>
> > >> Je comprends qu'il y a 3 scénarios de tests :
> > >> 1 ouvrir Excel en ouvrant le classeur 2. Ouvrir le classeur alors
> > >> qu'Excel est déjà ouvert
> > >> 3. Ouvrir le classeur alors qu'Excel est ouvert et qu'on a fermé le
> > >> classeur précédent
> > >>
> > >> Tu mets stop dans Workbook_Open, et tu regardes le comportement dans
> > >> les 3 cas J'ai comme l'impression que les évènements sont inhibés dans
> > >> le 3ème cas
> > >>
> > >> --
> > >> Papyjac
> > >>
> > >>
> > >> "j-pascal" a écrit :
> > >>
> > >>> Re,
> > >>>
> > >>> Je laisse le message me demandant d'activer ou pas les macros, en
> > >>> "manuel". Dans le cas que j'ai décrit, j'ai bien entendu "accepté"
> > >>> les macros !
> > >>> Le pb c'est que si je ferme Excel, ça fonctionne ; si je ferme juste
> > >>> le classeur (en particulier avec un essai sur "enregistrer sous"),
> > >>> l'ouverture suivante n'active pas le Workbook_open !!!
> > >>>
> > >>> Suis perdu ;-(
> > >>>
> > >>> JP
> > >>>
> > >>>> Bonjour J-pascal
> > >>>>
> > >>>> Il faut que le niveau de sécurité macro sous moyen ou inférieure
> > >>>>
> > >>>> Mets une instruction STOP dans la procédure pour voir si le code
> > >>>> s'arrête dessus 1. s'il s'arrête tu continue en pas à pas
> > >>>> 2. s'il ne s'arrête pas c'est que les macro sous inactive
> > >>>>
> > >>>> --
> > >>>> Papyjac
> > >>>>
> > >>>>
> > >>>> "j-pascal" a écrit :
> > >>>>
> > >>>>> Bonjour,
> > >>>>>
> > >>>>> Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
> > >>>>> l'ouverture du classeur !
> > >>>>>
> > >>>>> '-------
> > >>>>> Private Sub Workbook_Open()
> > >>>>> Dim Sh As Worksheet
> > >>>>>
> > >>>>> Application.ScreenUpdating = False
> > >>>>> Call ProchaineAlerte
> > >>>>>
> > >>>>> For Each Sh In ThisWorkbook.Sheets
> > >>>>> Sh.Visible = xlSheetVisible
> > >>>>> Next
> > >>>>> etc.
> > >>>>> '--------
> > >>>>>
> > >>>>> La sortie :
> > >>>>>
> > >>>>> '--------
> > >>>>> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
> > >>>>> As Boolean)
> > >>>>>
> > >>>>> etc.
> > >>>>>
> > >>>>> 'Application.EnableEvents = True
> > >>>>> ThisWorkbook.Close True 'ajout 7/12
> > >>>>> End Sub
> > >>>>> '--------
> > >>>>>
> > >>>>> Ca fonctionne si je ferme Excel et que je rouvre le classeur !
> > >>>>> L'ajout d'un "Application.EnableEvents = True" en sortie ne change
> > >>>>> rien, donc je suis un peu perdu !
> > >>>>>
> > >>>>> Merci pour votre aide,
> > >>>>>
> > >>>>> JP
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> > >>>
> > >>>
> > >
> > >
> >
Bonjour,
;-)
j'ai dû rater le message où qq'un ne serait ou pas serein ou pas
courtois..????
Il est clair pour moi que ces protection sont bonnes que pour ceux qui
le veulent.
La confiance va dans nombre de cas ou juste se préserver des erreurs
(protection sommaire)
@+
--
lsteph
Papyjac a écrit :
> Bonjour Lsteph et J-pascal
>
> restons courtois et sereins
>
> Effectivement, J-pascal est coincé, mais il faut débuter un jour, bref, il
> veut interdire aux utilisateurs de faire telle ou telle chose. les frustrer...
>
> Moi je dis que l'utilisateur doit resté libre d'utiliser Excel comme il
> l'entend
>
> J'ai débuté en truffant les classeurs de procédure événements, ouvrir,
> fermer, enregistrer, sélection... et j'ai eu des problèmes comme lui avec les
> ENEANBLEEVENTS.
>
> Bref, désormais, quand je donne un classeur en saisie à l'utilisateur, je le
> laisse libre. Il doit seulement respecter les consignes. Il peut même
> bricoler s'il le veut, sous réserve que ça ne plante pas le processus
>
> De toute manière si ça plante, il te téléphonera pour dire "ca ne marche
> pas" et tu iras lui sauver le vie, tu lui passe un savon s'il à trop bricolé.
> et tu renforces un peu ton code... naturellement, il est indispensable que
> ton code ne soit pas dans le classeur lui-même, car tu auras un gros problème
> de déploiement. mais c'est une autre histoire trop longue ce matin
>
> Bon courage j-Pascal et soi plus cool avec les utilisateurs
>
> --
> Papyjac
>
>
> "LSteph" a écrit :
>
> > ...mais un enableevents reste de toutes façons possible
> >
> > (..entre autres)..
> >
> > --
> > lSteph
> >
> > (aussi bien d'ailleurs pour qui veut déjouer ces inutiles tentatives de
> > sécurisation.)
> >
> > j-pascal a écrit :
> > > Bonsoir,
> > >
> > > Je deviens fou avec ce : "Private Sub Workbook_BeforeSave(ByVal SaveAsUI
> > > As Boolean, Cancel As Boolean)"
> > >
> > > Je pense que le pb est là (à part moi, bien sûr !!)
> > >
> > > Comment est-il possible de shunter l'option "Enregistrer sous" ?
> > >
> > > Imaginons qu'il y ait certaines actions effectuées avant la fermeture du
> > > classeur ... Si je mets un test conditionnel tel que : "If SaveAsUI
> > > Then Cancel = True", mon classeur reste ouvert et je ne peux pas
> > > "reboucler" vers la fermeture "classique" que j'avais prévu si
> > > l'utilisateur n'avait pas eu la mauvaise idée de vouloir l'enregistrer
> > > ailleurs que là où je voulais qu'il soit !!!
> > >
> > > Je ne comprends pas qu'il ne soit pas plus aisé de shunter cette option
> > > ! Quoiqu'il en soit, je ne m'en sors pas et à l'heure qu'il est j'ai
> > > plutôt envie de passer tout le classeur à "Eraser.exe"...
> > >
> > > JP
> > >
> > > PS : j'ai essayé les 3 cas de figures que tu proposes. Je n'ai rien vu
> > > d'anormal. Je pense qu'il y a un mode de fermeture que je n'ai pas dû
> > > reproduire ; l'ouverture est donc normale.
> > >
> > >> Bonjour J-pascal,
> > >>
> > >> Je comprends qu'il y a 3 scénarios de tests :
> > >> 1 ouvrir Excel en ouvrant le classeur 2. Ouvrir le classeur alors
> > >> qu'Excel est déjà ouvert
> > >> 3. Ouvrir le classeur alors qu'Excel est ouvert et qu'on a fermé le
> > >> classeur précédent
> > >>
> > >> Tu mets stop dans Workbook_Open, et tu regardes le comportement dans
> > >> les 3 cas J'ai comme l'impression que les évènements sont inhibés dans
> > >> le 3ème cas
> > >>
> > >> --
> > >> Papyjac
> > >>
> > >>
> > >> "j-pascal" a écrit :
> > >>
> > >>> Re,
> > >>>
> > >>> Je laisse le message me demandant d'activer ou pas les macros, en
> > >>> "manuel". Dans le cas que j'ai décrit, j'ai bien entendu "accepté"
> > >>> les macros !
> > >>> Le pb c'est que si je ferme Excel, ça fonctionne ; si je ferme juste
> > >>> le classeur (en particulier avec un essai sur "enregistrer sous"),
> > >>> l'ouverture suivante n'active pas le Workbook_open !!!
> > >>>
> > >>> Suis perdu ;-(
> > >>>
> > >>> JP
> > >>>
> > >>>> Bonjour J-pascal
> > >>>>
> > >>>> Il faut que le niveau de sécurité macro sous moyen ou inférieure
> > >>>>
> > >>>> Mets une instruction STOP dans la procédure pour voir si le code
> > >>>> s'arrête dessus 1. s'il s'arrête tu continue en pas à pas
> > >>>> 2. s'il ne s'arrête pas c'est que les macro sous inactive
> > >>>>
> > >>>> --
> > >>>> Papyjac
> > >>>>
> > >>>>
> > >>>> "j-pascal" a écrit :
> > >>>>
> > >>>>> Bonjour,
> > >>>>>
> > >>>>> Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
> > >>>>> l'ouverture du classeur !
> > >>>>>
> > >>>>> '-------
> > >>>>> Private Sub Workbook_Open()
> > >>>>> Dim Sh As Worksheet
> > >>>>>
> > >>>>> Application.ScreenUpdating = False
> > >>>>> Call ProchaineAlerte
> > >>>>>
> > >>>>> For Each Sh In ThisWorkbook.Sheets
> > >>>>> Sh.Visible = xlSheetVisible
> > >>>>> Next
> > >>>>> etc.
> > >>>>> '--------
> > >>>>>
> > >>>>> La sortie :
> > >>>>>
> > >>>>> '--------
> > >>>>> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
> > >>>>> As Boolean)
> > >>>>>
> > >>>>> etc.
> > >>>>>
> > >>>>> 'Application.EnableEvents = True
> > >>>>> ThisWorkbook.Close True 'ajout 7/12
> > >>>>> End Sub
> > >>>>> '--------
> > >>>>>
> > >>>>> Ca fonctionne si je ferme Excel et que je rouvre le classeur !
> > >>>>> L'ajout d'un "Application.EnableEvents = True" en sortie ne change
> > >>>>> rien, donc je suis un peu perdu !
> > >>>>>
> > >>>>> Merci pour votre aide,
> > >>>>>
> > >>>>> JP
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> > >>>
> > >>>
> > >
> > >
> >
Bonjour,
;-)
j'ai dû rater le message où qq'un ne serait ou pas serein ou pas
courtois..????
Il est clair pour moi que ces protection sont bonnes que pour ceux qui
le veulent.
La confiance va dans nombre de cas ou juste se préserver des erreurs
(protection sommaire)
@+
--
lsteph
Papyjac a écrit :
> Bonjour Lsteph et J-pascal
>
> restons courtois et sereins
>
> Effectivement, J-pascal est coincé, mais il faut débuter un jour, bref, il
> veut interdire aux utilisateurs de faire telle ou telle chose. les frustrer...
>
> Moi je dis que l'utilisateur doit resté libre d'utiliser Excel comme il
> l'entend
>
> J'ai débuté en truffant les classeurs de procédure événements, ouvrir,
> fermer, enregistrer, sélection... et j'ai eu des problèmes comme lui avec les
> ENEANBLEEVENTS.
>
> Bref, désormais, quand je donne un classeur en saisie à l'utilisateur, je le
> laisse libre. Il doit seulement respecter les consignes. Il peut même
> bricoler s'il le veut, sous réserve que ça ne plante pas le processus
>
> De toute manière si ça plante, il te téléphonera pour dire "ca ne marche
> pas" et tu iras lui sauver le vie, tu lui passe un savon s'il à trop bricolé.
> et tu renforces un peu ton code... naturellement, il est indispensable que
> ton code ne soit pas dans le classeur lui-même, car tu auras un gros problème
> de déploiement. mais c'est une autre histoire trop longue ce matin
>
> Bon courage j-Pascal et soi plus cool avec les utilisateurs
>
> --
> Papyjac
>
>
> "LSteph" a écrit :
>
> > ...mais un enableevents reste de toutes façons possible
> >
> > (..entre autres)..
> >
> > --
> > lSteph
> >
> > (aussi bien d'ailleurs pour qui veut déjouer ces inutiles tentatives de
> > sécurisation.)
> >
> > j-pascal a écrit :
> > > Bonsoir,
> > >
> > > Je deviens fou avec ce : "Private Sub Workbook_BeforeSave(ByVal SaveAsUI
> > > As Boolean, Cancel As Boolean)"
> > >
> > > Je pense que le pb est là (à part moi, bien sûr !!)
> > >
> > > Comment est-il possible de shunter l'option "Enregistrer sous" ?
> > >
> > > Imaginons qu'il y ait certaines actions effectuées avant la fermeture du
> > > classeur ... Si je mets un test conditionnel tel que : "If SaveAsUI
> > > Then Cancel = True", mon classeur reste ouvert et je ne peux pas
> > > "reboucler" vers la fermeture "classique" que j'avais prévu si
> > > l'utilisateur n'avait pas eu la mauvaise idée de vouloir l'enregistrer
> > > ailleurs que là où je voulais qu'il soit !!!
> > >
> > > Je ne comprends pas qu'il ne soit pas plus aisé de shunter cette option
> > > ! Quoiqu'il en soit, je ne m'en sors pas et à l'heure qu'il est j'ai
> > > plutôt envie de passer tout le classeur à "Eraser.exe"...
> > >
> > > JP
> > >
> > > PS : j'ai essayé les 3 cas de figures que tu proposes. Je n'ai rien vu
> > > d'anormal. Je pense qu'il y a un mode de fermeture que je n'ai pas dû
> > > reproduire ; l'ouverture est donc normale.
> > >
> > >> Bonjour J-pascal,
> > >>
> > >> Je comprends qu'il y a 3 scénarios de tests :
> > >> 1 ouvrir Excel en ouvrant le classeur 2. Ouvrir le classeur alors
> > >> qu'Excel est déjà ouvert
> > >> 3. Ouvrir le classeur alors qu'Excel est ouvert et qu'on a fermé le
> > >> classeur précédent
> > >>
> > >> Tu mets stop dans Workbook_Open, et tu regardes le comportement dans
> > >> les 3 cas J'ai comme l'impression que les évènements sont inhibés dans
> > >> le 3ème cas
> > >>
> > >> --
> > >> Papyjac
> > >>
> > >>
> > >> "j-pascal" a écrit :
> > >>
> > >>> Re,
> > >>>
> > >>> Je laisse le message me demandant d'activer ou pas les macros, en
> > >>> "manuel". Dans le cas que j'ai décrit, j'ai bien entendu "accepté"
> > >>> les macros !
> > >>> Le pb c'est que si je ferme Excel, ça fonctionne ; si je ferme juste
> > >>> le classeur (en particulier avec un essai sur "enregistrer sous"),
> > >>> l'ouverture suivante n'active pas le Workbook_open !!!
> > >>>
> > >>> Suis perdu ;-(
> > >>>
> > >>> JP
> > >>>
> > >>>> Bonjour J-pascal
> > >>>>
> > >>>> Il faut que le niveau de sécurité macro sous moyen ou inférieure
> > >>>>
> > >>>> Mets une instruction STOP dans la procédure pour voir si le code
> > >>>> s'arrête dessus 1. s'il s'arrête tu continue en pas à pas
> > >>>> 2. s'il ne s'arrête pas c'est que les macro sous inactive
> > >>>>
> > >>>> --
> > >>>> Papyjac
> > >>>>
> > >>>>
> > >>>> "j-pascal" a écrit :
> > >>>>
> > >>>>> Bonjour,
> > >>>>>
> > >>>>> Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
> > >>>>> l'ouverture du classeur !
> > >>>>>
> > >>>>> '-------
> > >>>>> Private Sub Workbook_Open()
> > >>>>> Dim Sh As Worksheet
> > >>>>>
> > >>>>> Application.ScreenUpdating = False
> > >>>>> Call ProchaineAlerte
> > >>>>>
> > >>>>> For Each Sh In ThisWorkbook.Sheets
> > >>>>> Sh.Visible = xlSheetVisible
> > >>>>> Next
> > >>>>> etc.
> > >>>>> '--------
> > >>>>>
> > >>>>> La sortie :
> > >>>>>
> > >>>>> '--------
> > >>>>> Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
> > >>>>> As Boolean)
> > >>>>>
> > >>>>> etc.
> > >>>>>
> > >>>>> 'Application.EnableEvents = True
> > >>>>> ThisWorkbook.Close True 'ajout 7/12
> > >>>>> End Sub
> > >>>>> '--------
> > >>>>>
> > >>>>> Ca fonctionne si je ferme Excel et que je rouvre le classeur !
> > >>>>> L'ajout d'un "Application.EnableEvents = True" en sortie ne change
> > >>>>> rien, donc je suis un peu perdu !
> > >>>>>
> > >>>>> Merci pour votre aide,
> > >>>>>
> > >>>>> JP
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> > >>>
> > >>>
> > >
> > >
> >
Bonjour Lsteph
Serein oui, mais les mouches n'ont qu'à voler ailleurs, confère ton message
de 23h37, mais peut être que c'est moi qui ne suis pas l'heure, ni au parfum
Bonjour Lsteph
Serein oui, mais les mouches n'ont qu'à voler ailleurs, confère ton message
de 23h37, mais peut être que c'est moi qui ne suis pas l'heure, ni au parfum
Bonjour Lsteph
Serein oui, mais les mouches n'ont qu'à voler ailleurs, confère ton message
de 23h37, mais peut être que c'est moi qui ne suis pas l'heure, ni au parfum
Bonjour,
Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
l'ouverture du classeur !
'-------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Call ProchaineAlerte
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Next
etc.
'--------
La sortie :
'--------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
etc.
'Application.EnableEvents = True
ThisWorkbook.Close True 'ajout 7/12
End Sub
'--------
Ca fonctionne si je ferme Excel et que je rouvre le classeur !
L'ajout d'un "Application.EnableEvents = True" en sortie ne change rien,
donc je suis un peu perdu !
Merci pour votre aide,
JP
Bonjour,
Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
l'ouverture du classeur !
'-------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Call ProchaineAlerte
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Next
etc.
'--------
La sortie :
'--------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
etc.
'Application.EnableEvents = True
ThisWorkbook.Close True 'ajout 7/12
End Sub
'--------
Ca fonctionne si je ferme Excel et que je rouvre le classeur !
L'ajout d'un "Application.EnableEvents = True" en sortie ne change rien,
donc je suis un peu perdu !
Merci pour votre aide,
JP
Bonjour,
Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
l'ouverture du classeur !
'-------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Call ProchaineAlerte
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Next
etc.
'--------
La sortie :
'--------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
etc.
'Application.EnableEvents = True
ThisWorkbook.Close True 'ajout 7/12
End Sub
'--------
Ca fonctionne si je ferme Excel et que je rouvre le classeur !
L'ajout d'un "Application.EnableEvents = True" en sortie ne change rien,
donc je suis un peu perdu !
Merci pour votre aide,
JP
Bonjour,
Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
l'ouverture du classeur !
'-------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Call ProchaineAlerte
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Next
etc.
'--------
La sortie :
'--------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
etc.
'Application.EnableEvents = True
ThisWorkbook.Close True 'ajout 7/12
End Sub
'--------
Ca fonctionne si je ferme Excel et que je rouvre le classeur !
L'ajout d'un "Application.EnableEvents = True" en sortie ne change rien,
donc je suis un peu perdu !
Merci pour votre aide,
JP
Bonjour,
Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
l'ouverture du classeur !
'-------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Call ProchaineAlerte
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Next
etc.
'--------
La sortie :
'--------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
etc.
'Application.EnableEvents = True
ThisWorkbook.Close True 'ajout 7/12
End Sub
'--------
Ca fonctionne si je ferme Excel et que je rouvre le classeur !
L'ajout d'un "Application.EnableEvents = True" en sortie ne change rien,
donc je suis un peu perdu !
Merci pour votre aide,
JP
Bonjour,
Pour une raison que j'ignore, Workbook_Open () ne se lance pas à
l'ouverture du classeur !
'-------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Application.ScreenUpdating = False
Call ProchaineAlerte
For Each Sh In ThisWorkbook.Sheets
Sh.Visible = xlSheetVisible
Next
etc.
'--------
La sortie :
'--------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
etc.
'Application.EnableEvents = True
ThisWorkbook.Close True 'ajout 7/12
End Sub
'--------
Ca fonctionne si je ferme Excel et que je rouvre le classeur !
L'ajout d'un "Application.EnableEvents = True" en sortie ne change rien,
donc je suis un peu perdu !
Merci pour votre aide,
JP