XL 2010 Find et format

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cathodique

XLDnaute Barbatruc
Bonsoir,

Je suis vraiment perdu. J'utilise un masque de saisie de @patricktoulon (que je salue).
Je voudrais faire une recherche de la donnée saisie dans une texte dans une colonne d'un tableau structuré.
J'ai essayé une fonction utilisant Find et FindNext mais rien n'y fait. La fonction ne trouve rien.
Je me suis égaré et n'arrive plus à avancer.
Merci pour votre coup de main. Vous comprendrez mieux en ouvrant le fichier.

Bonne soirée
 

Pièces jointes

Solution
Re,
J'ai pris le problème à l'envers. 😉
Comme votre base de données contient des code 160, et que votre textbox contient des espaces, alors il suffit de remplacer les espaces par des espaces insécables avec :
VB:
NoIdanimal = Replace(NoIdanimal, " ", Chr(160))
Mais j'ai gardé la recherche TrouverIndex modifié.

NB: Mais si vous faites d'autres calculs sur cette BDD, n'oubliez pas la présence des codes 160.
Bonjour le forum, hello J.P,

Dans la mesure où comme ici tous les espaces en colonne C sont des espaces insécables de code 160 :
VB:
Private Sub CommandButton1_Click()
Dim i As Variant
i = Application.Match(Replace(TxtNoId, Chr(32), Chr(160)) & "Ad", Evaluate([Tbd].Columns(3).Address & "&" & [Tbd].Columns(4).Address), 0)
If IsNumeric(i) Then MsgBox "Index trouvé : " & i Else MsgBox "Aucune occurrence trouvée"
End Sub
Seul le texte utilisé par la TextBox TxtNoId est transformé, c'est forcément plus rapide.

Et on n'utilise plus de colonne auxiliaire.

A+
 

Pièces jointes

Bon je reviens sur mon post #14, pas besoin de colonne auxiliaire, on peut aussi utiliser Evaluate :
VB:
Private Sub CommandButton1_Click()
Dim i As Variant
i = Application.Match(TxtNoId & "Ad", Evaluate("SUBSTITUTE(" & [Tbd].Columns(3).Address & ",CHAR(160),CHAR(32))&" & [Tbd].Columns(4).Address), 0)
If IsNumeric(i) Then MsgBox "Index trouvé : " & i Else MsgBox "Aucune occurrence trouvée"
End Sub
On ne touche pas au tableau.
 

Pièces jointes

Bon je reviens sur mon post #14, pas besoin de colonne auxiliaire, on peut aussi utiliser Evaluate :
VB:
Private Sub CommandButton1_Click()
Dim i As Variant
i = Application.Match(TxtNoId & "Ad", Evaluate("SUBSTITUTE(" & [Tbd].Columns(3).Address & ",CHAR(160),CHAR(32))&" & [Tbd].Columns(4).Address), 0)
If IsNumeric(i) Then MsgBox "Index trouvé : " & i Else MsgBox "Aucune occurrence trouvée"
End Sub
On ne touche pas au tableau.
Bravo pour les autres codes. Mais celui-ci ne fonctionne pas correctement sur ma machine Excel2010.
Il renvoie "aucune occurence trouvée", alors que L'idAnimal existe.
J'ai fait le test plusieurs fois et fais attention au numéro saisi.
C'était juste pour t'en informer. J'ai les autres solutions pour avancer.
Merci beaucoup.
 
Peux-tu exécuter cette macro (clic sur le bouton) et me dire ce que tu obtiens en F2:F5 :
VB:
Sub Test()
[F2:F5] = Evaluate("SUBSTITUTE($C$2:$C$5,CHAR(160),CHAR(32))&$D$2:$D$5")
End Sub
Hello job75,
je me suis permis de faire le test car comme j'ai pu essayé ta macro sur un Excel 2010 et constaté aussi qu'elle ne fonctionnait pas alors qu'elle était OK sur un Excel 2016. Voici ce que ton test donne sur mon Excel 2010 :
100 008 000 058 717Cd
100 008 000 058 717Cd
100 008 000 058 717Cd
100 008 000 058 717Cd

Alors que sur mon Excel 2016 j'ai bien des données différentes sur chaque ligne.
Ami calmant, J.P
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
143
Retour