IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recherche caractère alphanumérique et numérique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    amateur
    Inscrit en
    Décembre 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2019
    Messages : 53
    Par défaut Recherche caractère alphanumérique et numérique
    Bonjour,
    Je n’arrive pas à résoudre le problème suivant :
    Dans une textbox j’encode des caractères qui servent à la recherche sélective dans une colonne d’un tableau.
    Le résultat de la recherche est listée dans une listbox.

    Chaque nouveau caractère dans la textbox rafraichi la listbox.
    La recherche ne trouve pas ou n’affiche pas lorsque la valeur dans la colonne est numérique.

    J’ai bien formaté les cellules de la colonne au format ‘texte’ mais toujours échec !
    Sauf si je place une apostrophe devant les chiffres alors le chiffre est bien reconnu comme texte.

    Ce n’est pas cette dernière solution qui me convient, mais que dois-je changer dans mon code ci-après ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub TextBox1_Change()   ' liste sélective dans l’onglet temp
        With Sheets("temp")
            .Cells.Clear
            .[p1] = "Colonne 1"     ' titre de la colonne dans laquelle la recherche s’effectue
            .[p2] = Me.TextBox1.Value & "*"       'critère(s) de recherche
        End With
     
        Sheets("feuille_Donnees").[A1].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
                    criteriarange:=Sheets("temp").[p1:p2], _
                    copytorange:=Sheets("temp").[A1], Unique:=False    '  copie dans la feuille temp la liste filtrée par P1 et P2 (doublons inclus)
     
        If Sheets("temp").[A1].CurrentRegion.Rows.Count > 1 Then
            Set plagefeuil2 =  sheets("temp").[A1].CurrentRegion.Offset(1).Resize(Sheets("temp").[A1].CurrentRegion.Rows.Count - 1)
            Me.ListBox1.RowSource = plagefeuil2.Address(external:=True)    ' liste le résultat dans la listbox
       Else
       End If
       Set plagefeuil2 = Nothing
    End Sub
    merci

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Si la colonne contient des nombre c'est le critère de recherche qu'il convertir en numérique pas l'inverse

    Me.TextBox1.Value*1 peut le faire mais il est souvent nécessaire de contrôler que le valeur saisie ne contient que des caractères de la liste 0 à 9

  3. #3
    Membre confirmé
    Homme Profil pro
    amateur
    Inscrit en
    Décembre 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2019
    Messages : 53
    Par défaut Recherche caractère alphanumérique et numérique Votre message
    Bonjour,
    Me.TextBox1.Value*1 provoque une erreur d'incompatibilité de type...

    N'y a t'il pas une instruction qui ne tienne pas compte si c'est un caractère numérique ou un caractère alphabétique et que je pourrais intercaler dans le code ?
    genre find avec la propriété xlhole ou une autre appropriée?
    J'ai déjà placé l' 'option compare' au dessus de la sub mais cela ne résout pas le problème numérique!

    Merci de votre attention.

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonsoir à tous,

    2 pistes

    Opérateur Like

    La fonction IsNumeric
    Cette dernière étant booléenne (retourne True ou False)

  5. #5
    Membre confirmé
    Homme Profil pro
    amateur
    Inscrit en
    Décembre 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2019
    Messages : 53
    Par défaut Recherche caractère alphanumérique et numérique
    Bjr,

    Je vais exploiter la fonction isNumeric
    Merci du tuyau.
    Fredy

Discussions similaires

  1. [XL-2016] Recherche d'une chaîne de caractères alphanumérique
    Par cyrius92 dans le forum Excel
    Réponses: 8
    Dernier message: 07/12/2017, 15h47
  2. Réponses: 2
    Dernier message: 27/09/2017, 16h04
  3. Réponses: 2
    Dernier message: 03/03/2006, 00h30
  4. Test caractère alphanumérique
    Par Casa dans le forum C
    Réponses: 12
    Dernier message: 15/11/2005, 11h21
  5. [javascript] générer un code de 6 caractère alphanumérique
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/09/2005, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo