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 :

deplacer des frames dynamiquement( module classe) [Toutes versions]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 deplacer des frames dynamiquement( module classe)
    Bonjour a tous
    pour un projet j'ai besoins de depacer des frames dynamiquement et horizontalement
    ce n'est pas tout!!
    ces frames quand elle se déplacent doivent prendre la place de celle qui est survolé dans un sens comme un autre (droite/gauche)

    pour le deplacement ca va mais pour clamper les new positions ca n'est pas terrible il y a des erreurs de placement

    code userform avec une frames principale"ib2" et 4 petite frames de couleurs dans celle ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
    Dim cl As New classmove
    Private Sub UserForm_Activate()
     cl.classegroupe Me
    End Sub
    code classe
    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
    34
    35
    36
    37
    38
    39
    40
    Option Explicit
    Public WithEvents groupp As MSForms.Frame
    Dim groupe() As New classmove
    Public usf As Object
    Public indexgroup As Long
    Public parentgroup As Object
    Dim dX As Single
    Dim dY As Single
    Public oldposition As Long
    Sub classegroupe(uf)
        Dim Ctrl As Object
        indexgroup = 0
        For Each Ctrl In uf.Controls("ib2").Controls
            If Left(Ctrl.Name, 5) = "group" Then
                indexgroup = indexgroup + 1: ReDim Preserve groupe(0 To indexgroup)
                Set groupe(indexgroup).groupp = Ctrl
                Set groupe(indexgroup).usf = uf
            End If
        Next
    End Sub
    Private Sub groupp_Click()
        MsgBox groupp.Name
    End Sub
    Private Sub groupp_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        dX = X: oldposition = groupp.Left
    End Sub
    Private Sub groupp_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        If Button = 2 Then groupp.Move groupp.Left + (X - dX), groupp.Top
    End Sub
    Private Sub groupp_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Dim f As Object, Ctrl As Object, L&
        If Button = 2 Then
            For Each Ctrl In groupp.Parent.Controls
                If Left(Ctrl.Name, 5) = "group" And Ctrl.Left < groupp.Left Then
                    L = Ctrl.Left: Set f = Ctrl
                End If
            Next
            If Not f Is Nothing Then f.Left = oldposition: groupp.Left = L Else groupp.Left = oldposition
        End If
    End Sub
    pour les deplacer il faut rester appuyé avec le bouton droite de la souris

    petite démo du problème
    Nom : demo3.gif
Affichages : 618
Taille : 175,3 Ko

    le but étant que la frame déplacée prenne la place de celle survolée et la survolé prenne l'ancienne position de celle qui est déplacée

    un petit fichier en démo
    merci pour le coup de main
    Fichiers attachés Fichiers attachés
    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

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

Discussions similaires

  1. Nommer des instances d'une classe dynamiquement ?
    Par Demosis dans le forum Langage
    Réponses: 4
    Dernier message: 04/11/2007, 14h22
  2. Pbs pour Glisser-Deplacer des noeuds dans un TreeView.
    Par psau dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/09/2004, 21h02
  3. [JTabbedPane] Accès à des composants dynamiques
    Par SamRay1024 dans le forum Composants
    Réponses: 8
    Dernier message: 26/05/2004, 13h04
  4. [tomcat]chargement dynamique de classes depuis une webapp
    Par alphamax dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 12/03/2004, 09h59
  5. Réponses: 14
    Dernier message: 15/01/2004, 01h15

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