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 :

Déplacer deux UserForms ensemble [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Déplacer deux UserForms ensemble
    Bonjour a toutes et tous, forum

    Voila j'ai sur l'écran une userform1 lorsque que celle-ci est ouverte, je clic sur un bouton qui vient m'afficher une seconde userform2

    lorsque je déplace avec la souris les userforms 1 ou 2 je souhaiterai svp quelles restent accrochées ensemble et donc les déplacer ensembles

    Avec l'userform1 en fond et l'userform2 qui se superpose dessus la (1) et quelle ne s'éfface pas

    Merci de votre temps, bonne après midi

    Cdtl

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Je procéderais comme ceci :
    • mettre la propriété ShowModal du UserForm1 sur 0
    • mettre la propriété ShowModal du UserForm2 sur 1
    • et dans l'évènement UserForm_Layout du UserForm2 mettre ce code
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      Private Sub UserForm_Layout()
          UserForm1.Left = Me.Left
          UserForm1.Top = Me.Top
      End Sub

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut fring,

    Merci pour ta réponse et pour le code, c'est gentil

    J'ai suivi tes conseils et voila:

    UF1 s'affiche bien, je clic sur mon bouton UF2 s'ouvre bien et se place en haut a gauche sur UF1

    Ensuite dès que je clic sur UF1, avec la souris pour déplacer les deux ensemble UF2 disparait en dessous de UF1

    et ça ne se déplace pas a part UF1

    j'ai essayer de modifier pas en vain


    A plus tard et merci pour l'aide


    Ray

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Tu dois mettre la propriété ShowModal du USF2 sur 1, de cette manière lorsqu'il sera affiché, le USF1 sera toujours visible sous le USF2 mais ne sera plus accessible

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Bonjour fring,

    Merci pour ta réponse, j'ai suivi les conseils, ça fait ce que tu dit

    Sauf que je souhaiterai en fait quand je clic sur UF1 avec la souris pour la

    déplacer c'est d'emmener également L'UF2

    Merci a toi bonne journée

    A plus tard Cdlt Ray

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonsoir a tous les deux

    en fait tout depend ou ce trouve l'usf1 et l'usf2 au depart

    dans tout les cas c'est dans le layout que ca se passe

    l'exemple de fring si je ne me trompe pas te met l'autre usf parfaitement dessus ca n'est peut etre pas ce que tu cherche

    peut etre que memoriser la position initial dans les activate respectifs des userforms

    ensuite apliquer le meme mouvement au deuxieme dans le layout du premier

    exemple:

    le 1 er s'affiche a 100 de left et 100 de top
    le 2 eme s'affiche a 300 de left et 500 de top
    tu fait l'operation (soustraction) des deux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    usf2.left-usf1.left=difference du left
    usf2.top-usf1.top=difference du top
    maintenant que tu a la difference
    dans le layout du usf1 tu met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    usf2.left=usf1.left+difference du left
    et pareil pour le top
    ainsi tes usef se deplaceront syncro

    ou meme mieux

    simplement faire la différence de la position actuelle a celle precedente
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par eliot.raymond Voir le message
    Sauf que je souhaiterai en fait quand je clic sur UF1 avec la souris pour la déplacer c'est d'emmener également L'UF2
    Puisque tu veux absolument que l'USF2 reste actif au premier plan, pourquoi essayer de se compliquer la tâche ? Si tu laisses le 1 accessible, celui-ci viendra automatiquement se mettre au premier plan lorsque tu cliqueras dessus pour le déplacer et ça on ne peut pas l'éviter. En rendant le 1 inaccessible, le 2 restera toujours au premier plan et tu pourras déplacer les deux USF simultanément via le 2.

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

Discussions similaires

  1. Déplacer deux picturbox "ensembles"
    Par nygles dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/12/2008, 14h30
  2. [MySQL] comment lier deux variables ensemble?
    Par faucon54 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 16/05/2007, 09h02
  3. afficher deux fenetre ensemble
    Par ulysse031 dans le forum AWT/Swing
    Réponses: 18
    Dernier message: 16/04/2007, 14h37
  4. Relier deux datagrid ensembles?
    Par Juho06 dans le forum VB.NET
    Réponses: 4
    Dernier message: 05/03/2007, 11h02
  5. variable commune à deux userforms
    Par Melimelo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/07/2006, 13h32

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