Erreur dans adaptation d\'un code

Guigui

XLDnaute Occasionnel
Erreur dans adaptation d'un code

Hello tous le monde,

Voila mon probleme, j'ai trouvé une démo de @+Thierry dans le forum concernant les DragNDrop avec listbox ....

J'ai prit son code, et essayé de l'adapté à mes données... mais voila ca ne marche pas.
Je ne vois pas ou est le probleme, si quelqu'un peut jetter un oeil...

Merci d'avance
A+
Guillaume

Edit : Euh ! je peut pas joindre de fichier ! j'ai pas la ligne pour en bas de mon message !!!!!!!!

Message édité par: guigui, à: 21/06/2006 19:39
 

Guigui

XLDnaute Occasionnel
Re:Erreur dans adaptation d'un code

re,
Euuh sans déconner, j'ai pas la possibilité de joindre un fichier, j'ai pas la ligne en dessus 'parcourir' ...

Est-ce un petit souci connu ?

En attendant, mais ca va etre du chinois, vois mon code :

Code:
Option Explicit


Private Sub UserForm_Initialize()
'//// fonctionne avec ca :
    'Dim i As Byte
    'For i = 1 To 10
    '   ListBox1.AddItem 'ListBox Item to drag ' _
    '        & (ListBox1.ListCount + 1) '

    'Next i
    
'/// ne fonctionne pas avec ca !
ListBox1.RowSource = ('B1:B30')
End Sub

Private Sub clean()
If ListBox1.ListCount >= 1 Then
        If ListBox1.ListIndex = -1 Then
            ListBox1.ListIndex = _
                    ListBox1.ListCount - 1
        End If
        ListBox1.RemoveItem (ListBox1.ListIndex)
End If
End Sub
Private Sub ListBox2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, _
ByVal DragState As Long, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
    Cancel = True
    Effect = 1
End Sub

Private Sub ListBox2_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Action As MSForms.fmAction, ByVal Data As MSForms.DataObject, _
ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)
    Cancel = True
    Effect = 1
    ListBox2.AddItem Data.GetText
    clean

End Sub

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
    Dim MyDataObject As DataObject
    If Button = 1 Then
        Set MyDataObject = New DataObject
        Dim Effect As Integer
        MyDataObject.SetText ListBox1.Value
        Effect = MyDataObject.StartDrag
    End If
End Sub

dans une feuille, mettre des données dans les cases B1 à B10 ensuite lancé le code dans un USF avec 2 listbox et essayé de deplacer un element de gauche vers la droite ....
BUG

Maintenant, retirer les ' dans l'initialisation du USF et mettre en remarque ma ligne :
ListBox1.RowSource = ('B1:B10')

relancer le USF
Ca fonctionne !!!

Je saisie pas ou est le probleme
Merci d'avance pour votre aide
A+
Guillaume
 

Hervé

XLDnaute Barbatruc
Re:Erreur dans adaptation d'un code

bonsoir

la méthode rowsource lie les données de la listbox avec les données de la feuille, tu ne peux donc pas déplacer les items de la listbox.

je te conseille d'eviter cette méthode d'initialisation, et de lui préférer la méthode additem ou list.

ton code pour l'initialisation de la listbox :

For i = 1 To 30
ListBox1.AddItem Range('b' & i) '
Next i

salut
 

Discussions similaires

Réponses
3
Affichages
567

Statistiques des forums

Discussions
312 527
Messages
2 089 355
Membres
104 136
dernier inscrit
redzzo