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 :

Usf Hide - comment retrouver l'USF masqué ? [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut Usf Hide - comment retrouver l'USF masqué ?
    Bonjour,
    j'ai plusieurs USF (Usf1, Usf2 et Usf3) qui font appellent à la même procédure qui fait un filtre sur la BdD. Pour voir les données filtrées, je dois masquer la USF (avec Hide).
    puis je demande à l'utilisateur s'il veut continuer ou pas.
    Selon sa réponse je réactive l'USF ou je la ferme.
    Le problème c'est que je ne sais pas quel est l'USF masqué

    J'utilise le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    If Usf1.Visible Then Usf1.Hide
    If Usf2.Visible Then Usf2.Hide
    If Usf3.Visible Then Usf3.Hide
    Select Case MsgBox("Un filtre a été positionné." _
                           & vbCrLf & "" _
                           & vbCrLf & "Voulez-vous continuer votre saisie ?" _
                           , vbYesNo Or vbQuestion Or vbDefaultButton1, "App")
    Case vbYes
                If Usf1.Visible = True Then Usf1.Show
                If Usf2.Visible = True Then Usf2.Show
                If Usf3.Visible = True Then Usf3.Show
    Sauf qu'une fois masquée, l'USF n'est pas plus visible que les autres...

    d'où ma question comment retrouver la USF masqué ?
    Merci pour votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Pompier de service
    Inscrit en
    Février 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Pompier de service

    Informations forums :
    Inscription : Février 2014
    Messages : 146
    Par défaut
    Bonjour,

    Je ne sais pas si j'ai bien compris, mais apparemment, il y a une erreur sur If Usf1.Visible = True Then Usf1.Show (et les suivantes)

    Si elle est visible, tu n'as pas besoin de la montrer ??? Ca ne serait pas le contraire, par hasard ???

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Drôle de manière de faire l'appel !
    Je connaissais "Les absents, levez le doigt"
    Je découvre maintenant : "Les présents, soyez présents"


    Et en plus : je ne comprends pas la logique d'une condition pour "montrer" si l'on doit de toutes manières "montrer" ! Qu'on montre donc, sans condition ! -->> le résultat sera le même : montrer !

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour Unparia,
    Je n'avais même pas regardé le code, me contentant de réagir à la question
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut
    Bonjour à tous et merci pour vos réponses.
    Effectivement, Phil'oche, c'est là qu'est le problème... masquée / visible comment savoir si un USF est masqué ?

    Je n'ai apparemment pas été claire ; désolée. mon problème c'est que j'ai 3 Usf qui font appel à une procédure identique ; donc quand celle-ci est déclenchée, je ne sais pas quel Usf l'a appelée. c'est pourquoi je commence par dire si Usf1 est visible je le masque et ainsi de suite ; mais une fois que l'utilisateur a vu ce qu'il y avait à voir, il faut qu'il retrouve l'usf d'origine.

    Il y a bien une solution avec une variable du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    If Usf1.Visible Then a=1: Usf1.Hide
    If Usf2.Visible Then b=2: Usf2.Hide
    If Usf3.Visible Then c=3: Usf3.Hide
    Select Case MsgBox("Un filtre a été positionné." _
                           & vbCrLf & "" _
                           & vbCrLf & "Voulez-vous continuer votre saisie ?" _
                           , vbYesNo Or vbQuestion Or vbDefaultButton1, "App")
    Case vbYes
                If a=1 Then Usf1.Show
                If b=2  Then Usf2.Show
                If c = 3 Then Usf3.Show
    mais cela me paraît pas la meilleur façon de faire...

    Merci encore pour votre aide

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    ce n'est pas tellement "mieux", mouftie ...
    Mais je commence à deviner ce que tu ne sais pas vraiment exposer.
    Et si tu avais la bonne idée de nous montrer non pas un morceau de la procédure dans laquelle se trouvent tes "instructions", mais la totalité (depuis Sub jusqu'à end Sub inclus) de cette procédure ? Cela nous aiderait probablement à y voir clair en dépit de la pauvreté de tes explications ...

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Question 1 - Dans quel but connaître l'endroit où elle est cachée, puisqu'il suffit de la rappeler par programmation.
    Question 2 - Pourquoi utiliser autant de UserForm et pourquoi les cacher.
    Je crois qu'une bonne analyse du projet permettrait sans doute de n'avoir qu'un seul formulaire ou un formulaire type menu et afficher le formulaire sélectionné dans le formulaire menu.
    Je n'ai jamais eu besoin en plus de 10 ans de programmation en VBA de cacher des UserForm. Je crois que c'est une question de conception.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    En tête de tes Usf tu déclare une variable public!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Afficher as booleant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Usf1.Afficher Then a=1: Usf1.Hide:Usf1.Afficher =false
    If a=1 Then Usf1.Show:Usf1.Afficher =true

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    un pour la saisie, l'autre pour la modif (qui modifie dans plusieurs fichiers) et un pour la conusltation
    C'est bien ce que je pensais, c'est un problème de conception.
    Il est parfaitement possible de Créer, Consulter, Modifier et supprimer à l'aide d'un seul et même formulaire.

    Je te conseille la lecture de cette contribution USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  10. #10

  11. #11
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 637
    Par défaut
    Bonsoir dysorthographie,
    Merci pour ta proposition qui fonctionne bien

    Philippe, merci pour ton lien que je vais étudier avec assiduité ; j'ai juste jeté un œil, il est très clair et surtout plein de méthodologie.
    Quand j'ai débuté avec les USF, j'ai suivi de nombreux tutos, je ne suis jamais "tombée" sur le tien... Dommage !

    Encore merci à tous.

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

Discussions similaires

  1. [Conseils] Comment retrouver un problème
    Par Shoryu dans le forum Sondages et Débats
    Réponses: 67
    Dernier message: 03/11/2006, 13h26
  2. Réponses: 2
    Dernier message: 17/06/2005, 23h03
  3. Comment retrouver le handle d'une application console?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 7
    Dernier message: 22/12/2004, 16h58
  4. Comment retrouver les menus complets de Access ???
    Par sweety107 dans le forum Access
    Réponses: 3
    Dernier message: 20/12/2004, 11h33
  5. Comment retrouver les propriétés d'un fichier ?
    Par JuanLopez1966 dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 01/09/2004, 16h34

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