" l'indice n'appartient pas a la selection!" vba listbox transfere textbox

tompouss9

XLDnaute Nouveau
Boujour,

J'ai un message d'erreur l'indice n'appartient pas a la selection, ca semble simple mais je ne trouve pas la solution

End Sub

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Dim pl As Range 'déclare la variable pl (PLage)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim Tblo As Variant, Rg As Range
Dim Competingsupplier1 As UserForm
Dim Data As Feuil5

With Sheets("Data") 'prend en compte l'onglet "Database"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A)
Set pl = .Range("B2:B" & dl) 'définit la plage pl
End With 'fin de la en compte de l'onglet "Feuil1"

Tblo = Application.Transpose(pl)
Quick_Sort Tblo, LBound(Tblo), UBound(Tblo)
Competingsupplier1.ListBoxSelect.List = Application.Transpose(Tblo)
Set Rg = Nothing

End Sub

Merci pour votre aide!
PS: ci joint un exemple !
 

Pièces jointes

  • exemple( clic Newform puis Select).xlsm
    156.1 KB · Affichages: 46

Si...

XLDnaute Barbatruc
Re : " l'indice n'appartient pas a la selection!" vba listbox transfere textbox

salut

première remarque : il est toujours problématique de choisir un mot du langage pour une variable (ici Data) !
Pourquoi introduire une variable surtout si elle est mal définie (d'où l'erreur)?
Tu aurais dû écrire
Code:
Dim DataF As Worksheet
Set DataF = Feuil5
With Sheets("DataF") 'prend en compte l'onglet "Database"
  dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 
  Set pl = .Range("B2:B" & dl) 'définit la plage pl
End With

Ou plus simplement
Code:
With Feuil5 'prend en compte l'onglet "Database"
  dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row
  Set pl = .Range("B2:B" & dl) 'définit la plage pl
End With

Ou plus simplement

Code:
  dl = Feuil5.Cells(Application.Rows.Count, 1).End(xlUp).Row 
  Set pl = Feuil5.Range("B2:B" & dl)
End With

Ou encore

Code:
  Set pl = Feuil5.Range("B2:B" & Feuil5.Cells(Application.Rows.Count, 1).End(xlUp).Row)
 

tompouss9

XLDnaute Nouveau
Re : " l'indice n'appartient pas a la selection!" vba listbox transfere textbox

Merci pour ton aide le probleme est résolu ! j'ai ma listbox qui affiche les données mais je sais pas pourquoi il y a 13 ligne Vierge avant de voir mes données.
De plus c'est pas possible de sélectionner plusieurs données a transferer dans mon textbox.
Je vais essayé de trouver une solution mais si tu peux me rendre une service à ce sujet ca serait vraiment très sympa !

Encore un grand merci,

Thomas
 

Si...

XLDnaute Barbatruc
Re : " l'indice n'appartient pas a la selection!" vba listbox transfere textbox

Re
j'ai ma listbox qui affiche les données mais je sais pas pourquoi il y a 13 ligne Vierge avant de voir mes données.
De plus c'est pas possible de sélectionner plusieurs données a transferer dans mon textbox.

pour le premier point remplace la dernière ligne A par celle de B
Code:
...
With Feuil5 'prend en compte l'onglet "Database"
  dl = .Cells(Application.Rows.Count, 2).End(xlUp).Row 'colonne B
  Set pl = .Range("B2:B" & dl) 
End With
...

pour le second, je ne comprends pas ce qu tu veux.
 

tompouss9

XLDnaute Nouveau
Re : " l'indice n'appartient pas a la selection!" vba listbox transfere textbox

Hello Si! Off pour le weekend me voila de retour! oui j'ai essayé ce changement! Finnalement j'ai trouvé un autre code qui fonctionne très bien !
Private Sub UserForm_Initialize()

Dim maplage As Range, i As Integer
With ListBoxSelect
.ColumnCount = 1
' .ColumnHeads = True
End With

Dim Plage As Range
With Sheets("DataF")
Set Plage = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End With

ListBoxSelect.List = Plage.Value

End Sub

Merci pour ton aide
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 850
Membres
103 974
dernier inscrit
chmikha