IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

aperçu du classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut aperçu du classeur
    Bonjour,

    Voilà, j'ai un petit programme qui trouve des mots dans un classeur. Ce classeur est dans un dossier. Il boucle sur les classeurs et feuilles et cherche les mots (merci à SilkyRoad....). La liste des classeurs (contenant les mots recherchés) apparait (par exemple : Classeur1.xls, Classeur2.xls, Classeur22.xls,....)

    Actuellement, j'ai mis dans la colonne "A" un lien vers la macro : J'utilise le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("Feuil1").printpreview
    pour avoir un aperçu de la feuille du classeur.

    Le "problème" (en fait j'essaye d'améliorer mon code), c'est que l'aperçu s'ouvre, et il faut le refermer....

    Donc question, y-aurait-il une possibilité pour :

    Je clique sur une cellule de la colonne A (où je veux voir la feuille), l'aperçu apparait et lorsque j'"arrête" mon clic, l'aperçu se referme automatiquement....Un peu comme on peut l'avoir sur un Mac en utilisant l'aperçu....

    Merci,

    A+

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Très compliquée, ton affaire....
    1) pas de réelle possibilité sur une cellule
    2) on pourrait y penser avec un bouton de commande sur ta feuille et en utilisant son évènement MouseDown... mais alors ===>>
    3) la fenêtre active (celle ayant le focus) deviendrait (Windows) celle de l'aperçu... et ===>>
    Je ne vois plus de solution pour utiliser l'évènement MouseUp du bouton de départ, sauf à passer par une acrobatie sans nom en utilisant diverses fonction de l'Api de Windows... (et probbablement un hook...)
    Sûrement réalisable, ton truc, mais ... très cher payé en lourdeurs et ressources ...
    Un conseil : laisse l'utilisateur décider lui-même de cliquer sur la petite croix de la fenêtre de l'aperçu !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci pour tes encouragements ucfoutu ,

    En fait, je ne fais appel que quand je suis perdu...et là, je vois que je ne suis pas seul.....
    J'ai l'impression qu'il n'y a pas de solutions......

    Merci
    A+

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Re...
    Qui a dit çà ?
    Pas moi... (relis-moi)
    Une solution existe toujours, mais elle serait ici démesurée .....

    PS :
    Rends-toi compte (après m'avoir relu attentivement) de ce qu'il y aurait à écrire pour "capturer" les évènements souris, extraire le handle de la fenêtre du Preview, lui envoyer un Message Windows, etc...
    C'est certes réalisable (plusieurs fonctions de l'Api de Windows) mais très cher payé !!!

    Les choses auraient pu être différentes si VBA avait prévu un paramètre spécial dans l'expression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("Feuil1").printpreview
    pour ouvrir ou fermer le Preview, mais ce n'est pas le cas ...
    Le seul paramètre prévu permettant de modifier ou non ...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    J'ai déjà lu plusieurs fois ce genre de problème et je me suis aussi plusieurs fois posé la question.

    Alors, est-ce qu'à travers un timer, on pourrait trouver cette solution, même si ce n'est pas parfait (quel délai avant la fermeture ?)

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour, jacques_jean ,

    Ma réponse est sans hésitation "oui" ...
    Il suffit alors d'extraire le handle de la fenêtre du "Preview", puis de zigouiller cette fenêtre et ce processus au bout d'un temps déterminé.

    Mais :
    1) lourdeurs quand-même
    2) ce n'est pas "parfait" et en tout état de cause pas ce qui est demandé (en terminer au MouseUp...)
    3) cela risque d'être plus fastidieux, pour l'utilisateur, que de cliquer lui-même sur une petite croix. (et au bout de quelle durée ? en fonction de quels critères de vivacité de l'utilisateur pour déterminer que l'aperçu correspond ou non à ses voeux ?
    4) il faudrait par ailleurs une gestion d'erreur ... car si l'utilisateur clique sur la petite croix de fermeture et que les instructions dans le timer cherchent, plus tard, à fermer une fenêtre qui n'existe plus, il va bien falloir gérer ce cas de figure également
    Amitiés.

    EDIT :
    Je n'en jurerais pas plus que d'autres, mais je ne serais absolument pas étonné de ce que l'équipe de VBA a pris toutes ces considérations en compte (avec le même raisonnement) et ... a décidé sagement ce qu'elle a décidé... (en gardant présent à l'esprit, de surcroît, qu'elle aurait alors dû gérer en plus le cas de figure où était utilisé le paramètre/argument permettant des modifications, notamment en ce qui concerne les marges ... Car ... comment faire alors sans lever son doigt de la touche et agir ailleurs ...).
    Voilà ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Concepteur RAVE sous DELPHI 7 : aperçu avant impression
    Par tarbala dans le forum Composants VCL
    Réponses: 4
    Dernier message: 01/06/2020, 00h37
  2. Aperçu pour mes types de fichiers
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 3
    Dernier message: 27/09/2004, 18h33
  3. [Débutante] Aperçu avant impression d'un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 09/07/2004, 09h52
  4. [Excel] Commentavoir si un classeur est déjà ouvert ?
    Par Henkyl dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 14/05/2004, 11h27
  5. Classeur/tableur d'Openoffice et les virgules
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 30/04/2004, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo