Utilisation TextBox ListBox en VBA
Fermé
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
-
20 juil. 2017 à 14:31
AbouJustBeHappy Messages postés 13 Date d'inscription jeudi 20 juillet 2017 Statut Membre Dernière intervention 24 juillet 2017 - 24 juil. 2017 à 15:44
AbouJustBeHappy Messages postés 13 Date d'inscription jeudi 20 juillet 2017 Statut Membre Dernière intervention 24 juillet 2017 - 24 juil. 2017 à 15:44
A voir également:
- Utilisation TextBox ListBox en VBA
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Dossier en cours d'utilisation - Forum Windows 8 / 8.1
- Cliquez sur ce lien. en n'utilisant que le clavier, quel mot obtenez-vous ? ✓ - Forum souris / Touchpad
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
8 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
20 juil. 2017 à 14:53
20 juil. 2017 à 14:53
Bonjour Abdou, bonjour le forum,
Le code est suffisamment commenté, me semble-t-il pour pouvoir l'adapter à tes besoins...
Par contre je veux effectuer cette recherche dans une feuille différente..
Il te suffit de modifier le nom de l'onglet dans le code !... Ou d'être un peu plus clair dans tes explications.
Le code est suffisamment commenté, me semble-t-il pour pouvoir l'adapter à tes besoins...
Par contre je veux effectuer cette recherche dans une feuille différente..
Il te suffit de modifier le nom de l'onglet dans le code !... Ou d'être un peu plus clair dans tes explications.
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
21 juil. 2017 à 10:53
21 juil. 2017 à 10:53
Re,
Il me semblait avoir demandé des explications précises... Tu veux chercher dans quel onglet ?
Il me semblait avoir demandé des explications précises... Tu veux chercher dans quel onglet ?
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
Modifié le 21 juil. 2017 à 10:59
Modifié le 21 juil. 2017 à 10:59
Je veux à partir d'un onglet qui s'appelle "Avancement" faire ma recherche sachant que les données sont stockées dans un autre onglet qui s'appelle "Remplissage" et voici le lien pour le fichier excel :
https://www.cjoint.com/c/GGviqLoSW4E
https://www.cjoint.com/c/GGviqLoSW4E
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
22 juil. 2017 à 12:47
22 juil. 2017 à 12:47
Bonjour,
Le problème se situe à deux endroits. Tout d'abord l'initialisation d'une UserForm se fait, quel que soit le nom que tu lui attribues, avec le code Userform_Initialize. Toi tu as inventé une procédure d'initiaisation sur une TextBox (Rech) ?!...
Second point, pour afficher les résultats de la recherche on utilise une ListBox et pas une ComboBox !...
Ton fichier corrigé : https://www.cjoint.com/c/GGwkULBTt2K
Le problème se situe à deux endroits. Tout d'abord l'initialisation d'une UserForm se fait, quel que soit le nom que tu lui attribues, avec le code Userform_Initialize. Toi tu as inventé une procédure d'initiaisation sur une TextBox (Rech) ?!...
Second point, pour afficher les résultats de la recherche on utilise une ListBox et pas une ComboBox !...
Ton fichier corrigé : https://www.cjoint.com/c/GGwkULBTt2K
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
24 juil. 2017 à 09:45
24 juil. 2017 à 09:45
Bonjour TauTheme !!
Je te remercie vraiment pour ton aide. J'étais pas connceté durant le WE raison pour laquelle j'ai pas réagi plus tôt. J'ai télécharger le fichier que tu as mis sur le lien. Malheureusement Excel n'arrive pas à l'ouvrir et m'affiche une erreur de version ou de fichier endommagé. Merci pour tout par avance :)
Je te remercie vraiment pour ton aide. J'étais pas connceté durant le WE raison pour laquelle j'ai pas réagi plus tôt. J'ai télécharger le fichier que tu as mis sur le lien. Malheureusement Excel n'arrive pas à l'ouvrir et m'affiche une erreur de version ou de fichier endommagé. Merci pour tout par avance :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
Modifié le 24 juil. 2017 à 10:20
Modifié le 24 juil. 2017 à 10:20
Bonjour Abou, bonjour le forum,
J'ai testé et téléchargé sans problème le fichier à partir du lien que je t'ai proposé. Quand tu cliques sur accéder au fichier il ne faut pas que tu demandes à ouvrir avec mais à l'enregistrer. Là, tu devrais l'ouvrir sans problème...
Quelle est ta version d'Excel ?
À plus,
ThauTheme
J'ai testé et téléchargé sans problème le fichier à partir du lien que je t'ai proposé. Quand tu cliques sur accéder au fichier il ne faut pas que tu demandes à ouvrir avec mais à l'enregistrer. Là, tu devrais l'ouvrir sans problème...
Quelle est ta version d'Excel ?
À plus,
ThauTheme
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
24 juil. 2017 à 14:24
24 juil. 2017 à 14:24
Ma version d'Excel est 2013. J'ai bien enregistré le fichier et le même problème se pose.
A plus ^^
A plus ^^
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
24 juil. 2017 à 14:29
24 juil. 2017 à 14:29
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
>
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
24 juil. 2017 à 15:18
24 juil. 2017 à 15:18
Re,
Je ne comprends pas !... J'ai retéléchargé le fichier à partir du lien que je t'ai donné. Impeccable, j'ai bien un fichier .xlsm et pas un fichier .xlsx !...
Je te refais un lien vers ce fichier : https://www.cjoint.com/c/GGynrdCfBec
Je ne comprends pas !... J'ai retéléchargé le fichier à partir du lien que je t'ai donné. Impeccable, j'ai bien un fichier .xlsm et pas un fichier .xlsx !...
Je te refais un lien vers ce fichier : https://www.cjoint.com/c/GGynrdCfBec
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
>
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
24 juil. 2017 à 15:26
24 juil. 2017 à 15:26
ça me refait toujours le même problème. Peut être en m'indiquant exactement les modifications apportées oubien en me mettant sous format txt le code serait plus simple. Moi je comprends pas pour quelle raison elle veut pas l'ouvrir. Désolé pour ce désagrément et merci pour ta disponibilité.
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
24 juil. 2017 à 15:30
24 juil. 2017 à 15:30
Re,
Oui tu as raison, là on perd notre temps.
Donc commence par supprimer la ComboBox nommée Resul et remplace la par une ListBox que tu nommeras Resul...
Puis le code (à remplacer en totalité) :
---
À plus,
ThauTheme
Oui tu as raison, là on perd notre temps.
Donc commence par supprimer la ComboBox nommée Resul et remplace la par une ListBox que tu nommeras Resul...
Puis le code (à remplacer en totalité) :
Private O As Worksheet 'déclare la variable O (Onglet) Private TC As Variant 'déclare la variable TC (Tableau de Cellules) Private NL As Integer 'déclare la variable NL (Nombre de Lignes) Private NC As Byte 'déclare la variable NC (Nombre de colonnes) Private Sub UserForm_Initialize() Set O = Sheets("Remplissage") 'définit l'onglet O TC = O.Range("A1").CurrentRegion 'définit le tableau de cellules TC NL = UBound(TC, 1) 'définit le nombre de lignes de TC NC = UBound(TC, 2) 'définit le nombre de colonnes de TC Me.Resul.ColumnCount = NC + 1 'définit le nombre de colonnes de la zone de résultat (on fait une recherche dans la ligne entière. +1 pour le numéro de ligne) Me.Resul.ColumnWidths = "0 pt;" 'masque la première colonne de la zone de résultat (celle ou sera stocké le numéro de la ligne) End Sub Private Sub Rech_Change() Dim I As Integer 'déclare la variable I Dim J As Byte 'déclare la variable J Dim K As Integer 'déclare la variable K Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes) Me.Resul.Clear 'vide la zone de recherche K = 1 'initialise la variable K For I = 2 To NL 'boucle 1 : sur toutes les lignes I du tabelau de cellules TC (en partant de la seconde) For J = 1 To NC 'boucle 2 : sur toutes les colonnes J du tabelau de cellules TC If InStr(1, TC(I, J), Me.Rech.Value, vbTextCompare) <> 0 Then 'condition : si le texte de la zone de recherche est contenu dans la donnée ligne I colonne J (sans tenir compte de la casse) ReDim Preserve TL(NC + 1, 1 To K) 'redimensionne le tableau de lignes TL TL(0, K) = I 'récupère dans la ligne 0, colonne K de TL le numéro de ligne (masqué) For l = 1 To NC 'boucle sur toutes les colonnes de TC TL(l, K) = TC(I, l) 'récupère dans la ligne L, colonne K de TC la valeur de la ligne I , colonne L de TC (transposition) Next l 'prochaine colonne de la boucle 2 K = K + 1 'incrémente K Exit For 'sort de la boucle 2 End If 'fin de la condition Next J 'prochaine colonne de la boucle 2 Next I 'prochaine ligne de la boucle 1 If K > 1 Then 'condition : si K est supérieur à 1 (au moins une occurrence a été trouvée Me.Resul.Column = TL 'alimente la zone de résultat avec le tableau TL End If 'fin de la condition End Sub Private Sub Resul_Click() 'au clic dans la zone de résultat O.Activate O.Rows(Me.Resul.Column(0, Me.Resul.ListIndex)).Select 'sélectionne la ligne de l'élément sélectionné Unload Me End Sub
---
À plus,
ThauTheme
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
24 juil. 2017 à 15:33
24 juil. 2017 à 15:33
Merci ThauTheme,
Je te tiens au courant !!
A plus ;)
Je te tiens au courant !!
A plus ;)
AbouJustBeHappy
Messages postés
13
Date d'inscription
jeudi 20 juillet 2017
Statut
Membre
Dernière intervention
24 juillet 2017
24 juil. 2017 à 15:44
24 juil. 2017 à 15:44
Merci pour tout ThauTheme
Tout fonctionne à merveille !! :)
Tout fonctionne à merveille !! :)
20 juil. 2017 à 15:35
20 juil. 2017 à 15:47
Non Il fonctionne sur l'onglet que tu vas spécifier dans le code !...
Set O = Sheets("Remplissage") 'définit l'onglet O
Si tu ne parviens pas à l'adapter, fournis ton fichier (voir https://www.cjoint.com/ par exemple) avec des explications précises parce que : dans une feuille qui est différente de la feuille où se trouve la base de données, à moins d'avoir une boule de cristal, c'est pas très explicite !...
20 juil. 2017 à 15:55
Je vais tenter ce que tu m'as dis et si cela ne fonctionne toujours je t'enverrai le fichier. Merci !!
20 juil. 2017 à 17:48
Je te remercie par avance pour ton aide.