Bug sur fonction .find
Résolu/Fermé
mickysor
-
25 juil. 2013 à 17:41
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 26 juil. 2013 à 19:44
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 26 juil. 2013 à 19:44
A voir également:
- Bug sur fonction .find
- Bug yahoo mail - Accueil - Mail
- Fonction si et - Guide
- Bug chatgpt - Accueil - Intelligence artificielle
- Fonction moyenne excel - Guide
- Bug yahoo mail 27 fevrier 2024 ✓ - Forum Yahoo mail
2 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 252
25 juil. 2013 à 19:51
25 juil. 2013 à 19:51
Bonsoir,
on n'a que ça ne marche pas comme renseignement ?
C'est un peu léger...
Et un fichier de test avec les manip à faire pour reproduire l'erreur serait le bienvenu.
eric
on n'a que ça ne marche pas comme renseignement ?
C'est un peu léger...
Et un fichier de test avec les manip à faire pour reproduire l'erreur serait le bienvenu.
eric
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
Modifié par pijaku le 26/07/2013 à 10:59
Modifié par pijaku le 26/07/2013 à 10:59
Bonjour Messieurs,
Si on reprends l'idée de Michel_m de la textbox "liée" à une listbox, suffit de :
- dessiner un textbox (textbox1)
- dessiner une listbox (listbox1)
et d'utiliser ce code (de Michel_m trouvé ICI)
Ci-joint un classeur exemple.
Merci à Michel_M pour ce classeur
Cordialement,
Franck P
Si on reprends l'idée de Michel_m de la textbox "liée" à une listbox, suffit de :
- dessiner un textbox (textbox1)
- dessiner une listbox (listbox1)
et d'utiliser ce code (de Michel_m trouvé ICI)
Private Sub TextBox1_Change() Dim Tablo lettre = UCase(TextBox1.Value) If lettre = "" Then Exit Sub ReDim Tablo(0) ListBox1.Clear derLig = Sheets("liste").Range("A65536").End(xlUp).Row With Sheets("liste") For cptr = 1 To derLig test = .Cells(cptr, 1) If .Cells(cptr, 1) Like lettre & "*" Then Tablo(cptr_tablo) = .Cells(cptr, 1) cptr_tablo = cptr_tablo + 1 ReDim Preserve Tablo(cptr_tablo) End If Next End With ListBox1.List = Application.Transpose(Tablo) End Sub
Ci-joint un classeur exemple.
Merci à Michel_M pour ce classeur
Cordialement,
Franck P
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
26 juil. 2013 à 11:06
26 juil. 2013 à 11:06
Et, dans ton classeur, tu ne peux malheureusement pas ajouter une feuille "liste"???
Tu peux même masquer cette feuille, il n'y aura aucun souci...
Tu peux même masquer cette feuille, il n'y aura aucun souci...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 753
26 juil. 2013 à 11:10
26 juil. 2013 à 11:10
encore merci pour tout!
Plutôt merci à tous, tu as tout de même eu affaire à des supers contributeurs ici non???
Plutôt merci à tous, tu as tout de même eu affaire à des supers contributeurs ici non???
25 juil. 2013 à 20:10
25 juil. 2013 à 20:50
http://cjoint.com/?0GzuMSQ9YUV
lorsque vous tapez dans le textbox (mad) il m'affiche dans le label en dessous (madrid).
pas obligé de saisir (madrid) en entier pour l'afficher dans le label.
cependant dans le vrai tableau (celui que je ne peux malheureusement vous envoyer car trop lourd) parfois cette recherche en faisant une saisie parcielle ne marche pas et il faut tout taper.ce qui est très embêtant car le vrai tableau sert à renommer des images jpg.les autres macros sont des insertion d'image , lui donner un nom via ce fameux textbox et cette macro de recherche et renommer le fichier réel en cliquant sur un bouton valider.
dans mes macros je suis parfois amené à faire sur ce userform un (unload me), userform1.show ou encore un (me.repaint).
C'est peu être ça qui peut me créer ce souci de recherche???
25 juil. 2013 à 22:04
Pour l'instant je n'ai pas réussi....
Beaucoup d'autres actions peuvent s'effectuer entre 2 .find ?
Par sécurité je mettrais d'office les arguments optionnels suivants :
LookIn:=xlvalues, LookAt:=xlpart
Ils peuvent tous être affectés par un autre .find, voir même par d'autres fonctions de recherche, y compris sur feuille.
Je pense surtout à LookAt:=xlpart mais bon, autant mettre les 2.
eric
Modifié par michel_m le 26/07/2013 à 09:18
Ca va Eric ? ;o)
Xlpart est la valeur par défaut, donc...
la fonction Find cherche après une cellule non comprise dans la liste
pour ma part j'aurais écris ceci ( j'évite les codages mystérieux des variables à une lettre)
Private Sub TextBox1_Change()
Dim cellule As Range
With Sheets("listevilles")
Set cellule = .Columns("A").Find(TextBox1.Value, .Range("A65536"), xlValues)
If Not cellule Is Nothing Then Me.Label1 = cellule
End With
End Sub
autre point de vue
plutôt qu'un simple textbox , j'aurais utilisé un textbox_change et une listbox qui sélectionne au fur et à mesure les villes commençant par M puis MA etc
attention
.Range("A65536") concerne une version d'Excel <2007
26 juil. 2013 à 10:28
de plus j'ai trouvé votre idée de listbox très intéréssante mais je ne l'ai jamais utilisée.il suffit de remplacer textbox1 par listbox1? c'est ça?
en tout cas merci pour toute votre aide