Bonjour,
J'ai vraiment du louper iune étape dans mon appretissage VBa,
J'ai actuellement une requette qui recupere les données dans un BD. j'ecris ses données sur un onglet puis je charge ma listebox sans doublon avec les donnée ecrite.
je pense que je dois pouvoir faire ca directement sans avoir à les ecrires dans un onglet...
Dim oShR As Worksheet
Dim Requete As String
Dim oRS As Recordset
Dim iCol As Integer
'connexion à la base
ConnectionDB
Requete = "SELECT toto.nom_link "
Requete = Requete & " from thermo.parametres as toto"
'onglet destination
Set oShR = Sheets(2)
'exécute la requête, résultat dans un RecordSet
Set oRS = oConnect.Execute(Requete)
'copie les données du recordset dans l'onglet
oShR.Range("A2").CopyFromRecordset oRS
'titres de colonnes
For iCol = 0 To oRS.Fields.Count - 1
oShR.Cells(1, iCol + 1).Value = oRS.Fields(iCol).Name
Next iCol
Set oRS = Nothing
Set oShR = Nothing
'fermeture de la connexion
oConnect.Close
Set oConnect = Nothing
puis dans dans ma listbox
On Error Resume Next
'boucle sur les cellules de la colonne A
For Each Cell In Range("A2:A" & i)
'Stocke les données dans une collection
'(La collection n'accepte que des données uniques et permet donc
' de filtrer facilement les doublons).
Unique.Add Cell, CStr(Cell)
Next Cell
On Error GoTo 0
For Each Valeur In Unique
Me.ListBox1.AddItem Valeur
Next Valeur
Avez vous une idée car mes tentatives de ne pas passer par l'ecriture sur une feuille est purement catastrophique ! ( j ose même pas vous montrer le code)
Merci a vous