Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Distribuer un tableau sur 3 ListBox

35 réponses
Avatar
Apitos
Bonjour =C3=A0 tous,

J'ai un tableau de 6 colonnes, et j'aimerais bien le distribuer sur 3 ListB=
ox.

La premi=C3=A8re ListBox contiendra la premi=C3=A8re colonne du tableau

La deuxi=C3=A8me ListBox contiendra les trois colonnes suivantes =C3=A0 sav=
oir 2,3 et 4

La troisi=C3=A8me ListBox contiendra la derni=C3=A8re colonne du tableau.

Est-ce possible ?

Merci d=E2=80=99avance.

10 réponses

1 2 3 4
Avatar
Apitos
Bonjour MichD,
Erreur d'exécution '-21472178665 (80040e37)':
Le moteur de base de données Microsoft Office Access n'a pas pu trouve r l'objet "Données". Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'accès.
Sur la ligne :
'-----
'Ouverture du recordset :
Rst.Open Requete, Cnn, 1, 1, 1
'-----
Avatar
Apitos
Erreur corrigée :
J'ai effacé l’extension ".xlms" du fichier dans la variable So urceFile.
Je continu les essais.
Avatar
MichD
Le 23/12/19 à 13:21, Apitos a écrit :
Erreur corrigée :
J'ai effacé l’extension ".xlms" du fichier dans la variable SourceFile.
Je continu les essais.

Le fichier est complet. tu peux faire une recherche sur tous les champs
dans le formulaire Rechercher_MichD, titulaire, titre1, titre2, titre3,
mobile1 et mobile2.
Le code est commenté.
https://www.cjoint.com/c/ILxszQ8uqBj
Désolé, si tu n'as jamais joué avec ADO (Activex data object), tu
risques de ne pas trouver cela simple!
MichD
Avatar
Michel__D
Bonsoir,
Le 22/12/2019 à 19:07, Apitos a écrit :
Bonsoir MichD,
Apres quelques tests, et dans n'importe quel TextBox, si je tape un mot (mot*), une correspondance est trouvée, sinon, en tapant (*mot*), aucun résultat n'est retourné.
A ce que j'ai compris, la recherche s'exécute toujours de cette façon : (mot*) et non pas (*mot*).
Par exemple pour le champ titulaire, j'ai essayé avec le mot (TIT), dans le deuxième champ avec (11) et le dernier avec (22), aucun résultat obtenu.

Cette version devrait mieux correspondre (il y a un bonus) :
https://mon-partage.fr/f/WAHbrPNd/
Avatar
MichD
Sensiblement, le même fichier que le précédent, mais le code est plus
optimisé maintenant que tu es bon avec ADO.
https://www.cjoint.com/c/ILym64k6y7j
MichD
Avatar
Apitos
Bonjour MichD, Michel,
Michel_D > Ça fonctionne pour les trois TextBox en meme temps.
Je pense que le bonus etait l'utilisation d'un dictionnaire ?
MichD > J'ai apporté quelques changement à la requête, pour rechercher n'importe quel caractère.
'-----------------
rechT = UCase(Me.TxtSearch.Text)
If Not IsNumeric(Me.TxtSearch.Value) Then
Requete = "SELECT * FROM Données Where Données.Titulaire LI KE '%" & rechT & "%' ORDER BY Données.Titulaire ASC "
Else
Requete = "SELECT * FROM Données Where Données.Fixe1 LIKE ' %" & rechT & "%' " & vbCrLf & _
"OR Données.Fixe2 LIKE '%" & rechT & "%' " & vbCrLf & _
"OR Données.Fixe3 LIKE '%" & rechT & "%' " & vbCrLf & _
"OR Données.Mobile1 LIKE '%" & rechT & "%' " & vbCrLf & _
"OR Données.Mobile2 LIKE '%" & rechT & "%' ORDER BY Données.T itulaire ASC "
End If
'-----------------
Je bloque sur la comparaison des textes de recherches saisis par rapport au x noms des Titulaires en ce qui concerne les majuscules et les minuscules.
Dans mon cas, j'ai utilisé UCase pour solutionner le problème, ma is les noms des Titulaires peuvent être un mélange des deux cas.
Avatar
MichD
| J'ai apporté quelques changement à la requête, pour rechercher
n'importe quel caractère.
Qu'est-ce qui ne fonctionne pas chez toi?
Dans le textbox, tu as le choix de saisir le caractère que tu veux. Tu
fais une recherche sur le champ titulaire - utiliser des caractères en
minuscules ou majuscules, cela ne fait aucune différence pour le
résultat obtenu - ou sur l'un des champs de téléphone.
Le textbox contient soit des lettres ou des chiffres, mais pas les 2 en
même temps. Moi, je n'ai pas l'intention de modifier une virgule à la
procédure fournie puisqu'elle fonctionne très bien!
MichD
Avatar
MichD
Le 27/12/19 à 13:54, Apitos a écrit :
Salut MichD,
Dans mes essais, quand je tape "c" en minuscule, ça ne donne rien !
Il faut que je tape "C" pour voir des résultats qui commencent pas un "C", mais par exemple le titulaire "LET CLF", ne figure pas parmi les résultats.

Si cela est ton désir, modifie la ligne recherchant les titulaires comme
suit. Tout cela sur la même ligne.
Requete = "SELECT * FROM Données Where Données.Titulaire LIKE '%" &
Me.TxtSearch.Text & "%' ORDER BY Données.Titulaire ASC "
MichD
Avatar
Apitos
Je l'ai deja modifié comme suit :
'-----------------
rechT = UCase(Me.TxtSearch.Text)
If Not IsNumeric(Me.TxtSearch.Value) Then
Requete = "SELECT * FROM Données Where Données.Titulaire LI KE '%" & rechT & "%' ORDER BY Données.Titulaire ASC "
Else
Requete = "SELECT * FROM Données Where Données.Fixe1 LIKE ' %" & rechT & "%' " & vbCrLf & _
"OR Données.Fixe2 LIKE '%" & rechT & "%' " & vbCrLf & _
"OR Données.Fixe3 LIKE '%" & rechT & "%' " & vbCrLf & _
"OR Données.Mobile1 LIKE '%" & rechT & "%' " & vbCrLf & _
"OR Données.Mobile2 LIKE '%" & rechT & "%' ORDER BY Données.T itulaire ASC "
End If
'-----------------
Reste un petit souci, pour mettre en majuscule UCase lorsqu'on compare par LIKE le texte recherché par rapport au nom du champ Titulaire.
Cette syntaxe donne une erreur :
'----
Requete = "SELECT * FROM Données Where " & UCase( "Données.Titu laire" ) & LIKE '%" & UCase(Me.TxtSearch.Text) & "%' ORDER BY Données .Titulaire ASC "
'----
Avatar
MichD
Voici le fichier complet avec la modification de la requête.
La saisie du critère peut se faire en minuscule ou majuscule, la
procédure ne fait pas de différence!
https://www.cjoint.com/c/ILBtvFK4YOj
MichD
1 2 3 4