Afficher résultats recherche via ListBox sur 1 ligne

Provence Vintage

XLDnaute Occasionnel
Bonjour le Forum,

[Dans un Formulaire de Recherche:

j'ai une ListBox de recherche qui s'affiche via la saisie d'un TextBox.
Lorsque je double click sur la ligne désirée de ma ListBox,
plusieurs TextBox et CheckBox sont alimentés (par les résultats de cette recherche dans les colonnes de ma bdd!)]

je cherche maintenant à alimenter directement les résultats, non pas dans des TextBox et CheckBox, mais sur une ligne (1) d'une autre base de données.

Le but étant par la suite de comparer cette ligne avec l'ensemble de ma nouvelle base de données

Pour l'alimentation des TextBox, voici un exemple du code utilisé:

#Sub IniCtl(a As Long)
Dim i As Byte

With Sheets("bdd acheteurs")

For i = 2 To 10
Controls("Tbx" & i) = .Cells(a, i)

Next
For i = 11 To 14
Controls("Cbx" & i) = IIf(.Cells(a, i) = "X", 1, 0)
Next
If .Cells(a, 15) = "Début" Then CbxNbMois = 1
For i = 16 To 20
Controls("Cbx" & i) = IIf(.Cells(a, i) = "X", 1, 0)
Next# . . . . . .

Voici ce que j'ai tenté dans un nouveau formulaire avec toujours le même principe:
un textBox de saisie qui en fonction affiche une ListBox de résultats;
au double click via le code suivant:

#Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If ListBox2.ListIndex = -1 Then Exit Sub
LModSearchBien = ListBox2.List(ListBox2.ListIndex, 2)
TransfertFeuille (LModSearchBien)
ListBox2.Visible = False
End Sub#


le code de "TransfertFeuille" pour ce que je cherche à faire:

#Sub TransfertFeuille(LModSearchBien)
Dim a As Long
Dim cell As Range
With Sheets("bdd acheteurs")


.Cells(a, 2) = Sheets("bdd vendeurs").Range("B1")
.Cells(a, 3) = Sheets("bdd vendeurs").Range("C1")


End With

End Sub# . . . . .

Soit: résultats de la colonne 2 à mettre dans cellule B1 Feuille"bdd vendeurs", résultats de la colonne 3 en C1 . . . .

Malheureusement, celà ne fonctionne pas!

Si quelqu'un à une idée, elle est la bienvenue!
Merci:eek:


ci joint fichier exemple
Cijoint.fr - Service gratuit de dépôt de fichiers
 
Dernière édition:

Provence Vintage

XLDnaute Occasionnel
Re : Afficher résultats recherche via ListBox sur 1 ligne

Fil cloturé,
j'ai trouvé ma solution pour ma première partie recherche et copie des données trouvées sur une ligne!

Pour celles et ceux qui le souhaitent, envoyer moi un mp, je transmettrai le fichier!
Bonne journée!
 

kjin

XLDnaute Barbatruc
Re : Afficher résultats recherche via ListBox sur 1 ligne

Bonjour,
Pour celles et ceux qui le souhaitent, envoyer moi un mp, je transmettrai le fichier!
:confused: je n'en dirais pas plus...
Code:
Sub TransfertFeuille(a As Long)
Dim dl As Long
With Sheets("bdd vendeurs")
    dl = .Range("B65000").End(xlUp).Row + 1 'première ligne vide
    .Range("B" & dl & ":AU" & dl).Value = Sheets("bdd acheteurs").Range("B" & a & ":AU" & a).Value
End With
    
End Sub
Là on copie la ligne entière; A toi d'adapter pour juste qq cellules
A+
kjin
 

Provence Vintage

XLDnaute Occasionnel
Re : Afficher résultats recherche via ListBox sur 1 ligne

bonjour kjin,

raaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhhhh;
mon code est bien entendu, beaucoup plus bordel, com d'hab!
mais à force ça progresse!!!!!
si ça continu, je vais te considérer comme le sauveur!
il ne me reste que 5 jours avant de présenter mon projet:(

Veux tu bien jeter un coup d'oeil au dernier fil que j'ai ouvert:
https://www.excel-downloads.com/threads/vba-comparer-lignes-de-bdd-et-afficher-resultats.133563/

les nuits blanches me crevent, même si elles me permettent grâce à vous de progresser :D

a +
et comme l'on dit par chez nous:
a l'an qué ven, si l'on ne se recroise pas!
 

Provence Vintage

XLDnaute Occasionnel
Re : Afficher résultats recherche via ListBox sur 1 ligne

Bonsoir Le Forum,

j'essaye maintenant dans un USF d'avoir une ListBox qui m'affiche (horizontalement) les valeurs de la ligne 1;

Ci joint Fichier, si quelqu'un à une idée, merci
Bonne soirée

Cijoint.fr - Service gratuit de dépôt de fichiers
 

bqtr

XLDnaute Accro
Re : Afficher résultats recherche via ListBox sur 1 ligne

Bonjour,

Essaye ceci:

Code:
Private Sub UserForm_Initialize()
Dim plg
With Sheets("test")
    plg = .Range(.Cells(1, 1), .Cells(1, .Range("IV1").End(xlToLeft).Column))
End With
ListBox1.ColumnCount = UBound(plg, 2)
ListBox1.Column = Application.Transpose(plg)
End Sub

La Listbox affichera les 42 colonnes de la ligne 1 de la feuille

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 124
Membres
103 126
dernier inscrit
Vuagno27