Excel pb filtre numérique+alpha
Résolu
lulu37
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
-
Pedd -
Pedd -
Bonjour,
Je savais bien que je ne serais pas longue à repasser par là...
J'ai un problème sur un filtre (données numériques+alpha)
explication : invite de saisie dans textbox sur formulaire.
la valeur saisie est retournée dans 1 filtre auto (contient valeur)
mon code est le suivant :
If TextBoxRF <> Empty Then Selection.AutoFilter Field:=3, Criteria1:="=*" & TextBoxRF.Value & "*"
le problème est que qd on saisie du numérique (partiel), ça ne retourne pas toutes les valeurs.
Ca ne vient a priori pas du code, car meme en passant pas les filtres sur la feuille de données, la saisie numérique partielle marche mal.
Savez vous si c'est un pb d'exel en général ou si la vérité est ailleurs?
Je savais bien que je ne serais pas longue à repasser par là...
J'ai un problème sur un filtre (données numériques+alpha)
explication : invite de saisie dans textbox sur formulaire.
la valeur saisie est retournée dans 1 filtre auto (contient valeur)
mon code est le suivant :
If TextBoxRF <> Empty Then Selection.AutoFilter Field:=3, Criteria1:="=*" & TextBoxRF.Value & "*"
le problème est que qd on saisie du numérique (partiel), ça ne retourne pas toutes les valeurs.
Ca ne vient a priori pas du code, car meme en passant pas les filtres sur la feuille de données, la saisie numérique partielle marche mal.
Savez vous si c'est un pb d'exel en général ou si la vérité est ailleurs?
A voir également:
- Excel pb filtre numérique+alpha
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Pavé numérique bloqué - Guide
- Déplacer colonne excel - Guide
5 réponses
Salululu,
t'es sure que c'est pas plutot un like que un = que tu veux ? Si tu mets des * c'est sans doute pour une recherche partielle dans plutot un like ...
Dis moi...
t'es sure que c'est pas plutot un like que un = que tu veux ? Si tu mets des * c'est sans doute pour une recherche partielle dans plutot un like ...
Dis moi...
je ne sais pas si c'est like que je veux, mais je veux :
=> que la valeur saisie (partielle ou complète) soit retournée dans le filtre auto,
=> sans respecter la casse de préférence (sinon galère), et
=> que si on tape "20", que ça retourne toutes les données avec "20" que ce soit au début, au milieu ou à la fin des cellules des données filtrées. (contient me semblait convenir)
...
dis moi si c'est bien like que je veux...car je ne le connais pas celui là
=> que la valeur saisie (partielle ou complète) soit retournée dans le filtre auto,
=> sans respecter la casse de préférence (sinon galère), et
=> que si on tape "20", que ça retourne toutes les données avec "20" que ce soit au début, au milieu ou à la fin des cellules des données filtrées. (contient me semblait convenir)
...
dis moi si c'est bien like que je veux...car je ne le connais pas celui là
Hello ludivine,
La recherche "contient..." du filtre personnalisé ne fonctionne pas avec des valeurs numériques. Donc si tu as des valeurs numériques dans ta colonne, il faut que tu les stockes en format texte, et là ça marchera.
La recherche "contient..." du filtre personnalisé ne fonctionne pas avec des valeurs numériques. Donc si tu as des valeurs numériques dans ta colonne, il faut que tu les stockes en format texte, et là ça marchera.
Bonjour tout le monde,
Oui lulu37, c'est normal. Si tu saisies une apostrophe ' devant une valeur numérique, tu forces Excel à interpréter cette valeur numérique comme une chaîne de caractères. Mais par défaut, Excel considère des chiffes comme une valeur numérique (c'est assez logique).
Un exemple de code pour te permettre de modifier tes données, en considérant que toutes les cellules de la feuille sont à modifier (à adapter bien sûr) :
Oui lulu37, c'est normal. Si tu saisies une apostrophe ' devant une valeur numérique, tu forces Excel à interpréter cette valeur numérique comme une chaîne de caractères. Mais par défaut, Excel considère des chiffes comme une valeur numérique (c'est assez logique).
Un exemple de code pour te permettre de modifier tes données, en considérant que toutes les cellules de la feuille sont à modifier (à adapter bien sûr) :
Sub NumToChaine() Dim rngCell As Range For Each rngCell In ActiveSheet.Cells If Not IsEmpty(rngCell) Then rngCell.Value = "'" & rngCell.Value End If Next End Sub
Bonjour ludivine,
j'ai formaté ma colonne en format texte, mais les nouvelles données saisies ne sont pas reconnues en tant que texte
Oui, ça paraît bizarre, mais c'est tout à fait normal.
Une cellule Excel peut contenir n'importe quoi, et sans précision spéciale, le format par défaut est Standard. Ça veut dire que quand on y place quelque chose, Excel prend une décision et analyse le type de donnée. Si après analyse Excel a décelé que le contenu est numérique, la propriété est définitivement acquise. Si ensuite tu dis que le format de la cellule est de type texte, Excel va cadrer la valeur à gauche, mais c'est seulement une question de format, et la donnée reste définie comme numérique.
Tu peux facilement en VBA convertir ton code postal numérique en texte, en appliquant par exemple une commande de ce type (exemple pour la cellule (1, 1) ):
j'ai formaté ma colonne en format texte, mais les nouvelles données saisies ne sont pas reconnues en tant que texte
Oui, ça paraît bizarre, mais c'est tout à fait normal.
Une cellule Excel peut contenir n'importe quoi, et sans précision spéciale, le format par défaut est Standard. Ça veut dire que quand on y place quelque chose, Excel prend une décision et analyse le type de donnée. Si après analyse Excel a décelé que le contenu est numérique, la propriété est définitivement acquise. Si ensuite tu dis que le format de la cellule est de type texte, Excel va cadrer la valeur à gauche, mais c'est seulement une question de format, et la donnée reste définie comme numérique.
Tu peux facilement en VBA convertir ton code postal numérique en texte, en appliquant par exemple une commande de ce type (exemple pour la cellule (1, 1) ):
Cells(1, 1).Value = Format(Cells(1, 1).Value, "00000")
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu es toujours là?
Ludivine