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 :

bouger une msgbox avec de la souris [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut bouger une msgbox avec de la souris
    Bonjour,

    J'aimerai acroître mes compétences en VBA en faisant un petite blague

    Cependant, ba je ne peux pas continuer étant donné qu'il me manque des bases.

    Je voudrais afficher un Msgbox avec vbyesno

    Puis lorsque l'utilisateur veut cliquer sur la touche "non" la msgbox change de place , est-ce possible?

    Si c'est plus facile au moyen d'un userform je prend aussi

    Merci d'avance

    Cdlt
    DoDo

  2. #2
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Tu peux gerer ca dans un userform

    avec la fonction : UserForm_MouseMove

    et l'emplacement de ton UserForm :
    Avec StartUpPosition = 0 et les positions Left et Top que tu fait varier suivant le contenu des variables paramètre contenu dans MouseMove

    ou un bouton dans un UserForm ..
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    oula, j'ai très vaguement entendu parler de la fonction mousemove,
    mais je t'avouerai que tu vien de parler une autre langue pour moi :s

    peut-etre pourrais-tu m'aiguiller de manière plus précise stp

    Ca serai très gentil

    Merci

  4. #4
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Je regarde et te repond dès que possible
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    Merci beaucoup

    Mais ne t'inquiète pas C'est pas urgent urgent :p

    ca peut très bien attendre demain

    Merci en tout cas

  6. #6
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    J'ai creer un UserForm appelé U1, voici le code dans le UserForm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Private Sub UserForm_Activate()
        U1.Width = 125.25
        U1.Height = 43.5
        U1.Top = 200
        U1.Left = 300
        U1.Caption = "Attrape moi !! "
    End Sub
     
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    'ByVal X As Single, ByVal Y As Single)
     
     
    Dim L As Single
    Dim T As Single
     
     
     L = U1.Top
     T = U1.Left
     
     If L > 650 Then
        L = 0
     End If
     
     If T > 800 Then
        T = 0
      End If
     
     U1.Top = L + 20
     U1.Left = T + 100
     
     
    End Sub


    Autre version aleatoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     
     U1.Top = Rnd(1) * 700
     U1.Left = Rnd(1) * 850
     
    End Sub
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    Merci ca marche super bien,

    est ce que c'est possible de faire la même chose avec un bouton spécial d'un userform,
    je m'explique

    Je pose une question et j'ai 2 boutons: "oui" et "non" et j'aimerai que lorsque sa souris s'approche du non, l'userform change de place

    Merci d'avance

  8. #8
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Tu veux que le Userform change de place ou le bouton dans l'UserForm ?

    Avec le bouton qui bouge dans un Userform :

    Userform : U1
    Bouton 1 : OUI
    Bouton 2 : NON

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub NON_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     
     ' U1.NON.Top = 450 + Rnd(1) * 200
    ' U1.NON.Left = 500 + Rnd(1) * 350
     
      U1.NON.Top = Rnd(1) * 650
      U1.NON.Left = Rnd(1) * 850
     
    End Sub
     
     
    Private Sub UserForm_Activate()
     
        U1.OUI.Caption = "OUI"
        U1.NON.Caption = "NON"
        U1.Width = 960
        U1.Height = 745
        U1.Left = 0
        U1.Top = 0
        U1.OUI.Top = 600
        U1.OUI.Left = 403
        U1.NON.Top = 600
        U1.NON.Left = 557
        U1.OUI.Width = 72
        U1.OUI.Height = 24
        U1.NON.Width = 72
        U1.NON.Height = 24
     
    End Sub
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  9. #9
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    Génial Delphine,

    je me suis permis de légèrement le réadapté ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    Private Sub NON_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     
      U1.Top = Rnd(1) * 650
      U1.Left = Rnd(1) * 850
     
    End Sub
     
    Private Sub UserForm_Activate()
     
        U1.OUI.Caption = "OUI"
        U1.NON.Caption = "NON"
        U1.Width = 298.5
        U1.Height = 150.75
        U1.Left = 200
        U1.Top = 300
     
    End Sub
    Par contre, une dernière question, est ce que c'est possible lorsque l'utilisateur ferme l'userform en cliquant sur la croix rouge, il se réaffiche immédiatement après ?
    ou plus simplement de bloquer la fermeture de l'userform avec la croix ...

    Merci encore

  10. #10
    Membre averti Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Points : 377
    Points
    377
    Par défaut
    Dans une Module, tu crée une macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub Lance_Moi()
     
    Dim i As Single
        For i = 1 To 5
            U1.Show
        Next i   
    End Sub
    Et c'est cette macro que tu executes. Ici il boucle 5 fois.
    Delphine35
    « N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence. » - Napoléon Bonaparte

  11. #11
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 229
    Points : 168
    Points
    168
    Par défaut
    Merci beaucoup Delphine , c'est gentil de prendre du temps pour m'apprendre pleins de chose

    Allé, dernière question pendant que j'ai des pro sous la main

    Comment puis-je afficher un compte-à-rebours dans un label de cette Userform
    Explication: je souhaite afficher un compte-à-rebours sur ce même userform (environ 20-30 secondes) ou l'utilisateur doit appuyer sur oui, si il ne l'a pas fait, une macro d'éxécute ,

    Comment puis-je faire cela?

    Merci d'avance

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

Discussions similaires

  1. Bouger une fenêtre avec un objet.
    Par LeoBeutel dans le forum Cpcdos
    Réponses: 3
    Dernier message: 27/03/2015, 22h29
  2. Bouger une PictureBox avec VB 2013
    Par paulolol dans le forum VB.NET
    Réponses: 4
    Dernier message: 16/10/2014, 22h59
  3. [PPT-2010] Faire apparaître une MsgBox avec l’animation souhaitée
    Par FOR412 dans le forum Powerpoint
    Réponses: 0
    Dernier message: 26/10/2011, 22h50
  4. bouger une image avec la bougie
    Par Flav' dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 11/06/2008, 15h36
  5. Déplacer une TImage avec la souris
    Par Ingelishome dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/03/2005, 14h16

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