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 :

Échange entre deux ListBox [XL-2007]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut Échange entre deux ListBox
    Bonjour,
    J'ai un souci sur un fichier dont je joins une version allégée pour mon problème.
    J'ai un formulaire avec 8 listbox (fmMultiselectsingle). Si je selectionne 1 item sur 2 des listbox, je souhaite simplement échanger ces deux items.
    J'arrive bien à vider les listbox et à enregistrer les nouvelles valeurs dans les tableaux de variable, mais seule la premiere listbox cliquée et remplie, la seconde reste vide.

    Merci d'avance pour votre aide et désolé pour le code qui suit que je n'arrive pas à indenter dans ce message

    Voici le code:
    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
    41
    42
    43
    44
    45
    46
     
    Private Sub EchangeEntreList()
     Dim Ctl As Control, X1 As String, X2 As String, A As String, B As String
     X = 0
     X1 = ""
     X2 = ""
    With UserForm7
        For Each Ctl In .Controls
            If TypeName(Ctl) = "ListBox" Then
                For i = 0 To Ctl.ListCount - 1
                    If Ctl.Selected(i) Then X = X + 1
                        Select Case X
                        Case Is = 1
                        If X1 = "" Then
                        X1 = Right(Ctl.Name, 1)
                        End If
                        Case Is = 2
                         If X2 = "" Then
                        X2 = Right(Ctl.Name, 1)
                        End If
                        End Select
                Next i
            End If
        Next Ctl
    End With
    If X = 2 Then
        With UserForm7
         Dim text1  As String, text2 As String
        t1 = .Controls("ListBox" & X1).List  't1 tableau premiere listbox
        text1 = .Controls("ListBox" & X1).ListIndex  'text1 selection premiere listbox
        t2 = .Controls("ListBox" & X2).List   't2 tableau seconde listbox
        text2 = .Controls("ListBox" & X2).ListIndex  'text2 selection seconde listbox
            For i = 0 To 4
            A = t1(text1, i) 'txt premiere listbox
            B = t2(text2, i) 'txt seconde listbox
            t1(text1, i) = B 'remplacement txt premiere listbox par txt seconde dans tableau
            t2(text2, i) = A 'remplacement txt seconde listbox par txt premiere dans tableau
            Next i
            .Controls("ListBox" & X1).Clear
            .Controls("ListBox" & X1).List = t1
            .Controls("ListBox" & X2).Clear
            .Controls("ListBox" & X2).List = t2
        End With
     
    End If
    End Sub
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [VBA-E]drag and drop entre deux listbox
    Par Yolak dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 14/06/2012, 14h37
  2. Drag and drop entre deux ListBox
    Par simoinfonet dans le forum Langage
    Réponses: 0
    Dernier message: 18/04/2008, 18h53
  3. [FTP] Mode PASV échange entre deux serveurs
    Par coax81 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 10/09/2007, 11h17
  4. Ajout et Suppression entre deux listBox
    Par sacofan dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/01/2007, 17h02
  5. focus entre deux listbox
    Par krokmitaine dans le forum Delphi
    Réponses: 6
    Dernier message: 13/12/2006, 07h18

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