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 :

[VBA]Userform mobile dans une feuille excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 17
    Points : 16
    Points
    16
    Par défaut [VBA]Userform mobile dans une feuille excel
    Bonjour,

    Alors voila, j ai realise une userform avec quelques boutons et je souhaite qu elle suive le curseur dans ses deplacements. C est a dire lorsqu on active une nouvelle cellule, elle apparait a une distance fixe de cette cellule.

    Voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub bouge()
    Dim Position As POINT
    GetCursorPos Position
    Menu_mobile.Left = Position.x + 1
    Menu_mobile.Top = Position.y + 1
    End Sub
    Et l appel a celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Menu_mobile.Show
    Module1.bouge
    end sub
    Tout se passe bien pour la partie mouvement, la boite suit bien les selections mais plus je me rapproche de la droite ou du bas de l ecran et plus l ecart grandit. Pourquoi ne reste t il pas fixe ?,

  2. #2
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Salut,

    En fait, ça vient certainement du fait que tu n'as pas les mêmes unités d'échelle entre les 2 parties...

    Tu aurais certainement intérêt à récupérer la cellule active et après tu récupère sa position et tu fais un déplacement fixe en fonction de cette position..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    monDecalageX=150 ' en points
    monDecalageY=0 ' en points
    PosX = ActiveCell.Left+ActiveCell.Width+monDecalageX
    PosY = ActiveCell.Top+ActiveCell.Height+monDecalageY
     
    Menu_mobile.Move PosX, PosY
    Cela devrait faire l'affaire

    [EDIT]
    Modification du code pour la méthode Move désolé et merci de l'indication fikren
    [/EDIT]
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Salut Theocourant,

    Merci pour ton aide ca m a l air pas mal mais est ce que tu pourrais me dire comment je dois declarer les variables monDecalageX/Y et PosX/Y s il te plait car je galere la dessus pour tester ta solution.

    Merci.

  4. #4
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Re,

    Oups pardon j'ai oublié les déclarations...

    Met les en Single :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim monDecalageX as Single
    Dim monDecalageY as Single
    Dim PosX as Single
    Dim PosY as Single
    Désolé

    @+

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup, ca fonctionne comme je le voulais =)

    Juste une petite chose pour la methode move il faut retirer les parentheses ou ca ne compile pas.

  6. #6
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Corrigé

    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

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

Discussions similaires

  1. [VBA-E] positionnement dans une feuille excel
    Par fast&furious dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2007, 12h59
  2. [VBA-E] Colorier une ligne dans une feuille excel
    Par skyst3f dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/10/2006, 11h42
  3. [VBA-Excel] copier plusieurs fois une colonne dans une feuille Excel
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/08/2006, 18h43
  4. [VBA-E]trie(suppression de doublons) dans une feuille excel
    Par TANIE dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/08/2006, 13h25
  5. [VBA-PP]Ecrire dans une feuille Excel
    Par alpking dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 27/04/2006, 18h18

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