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 :

Problème filtre colonne [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut Problème filtre colonne
    Bonjour à tous,

    Je suis régulièrement les actualités sur le forum, mais c'est mon premier message pour obtenir des conseils

    Je souhaite filtrer une colonne composée uniquement de nombres. Le problème est que mon code fonctionne seulement lorsque les données sont précédées d'un "ALT+ENTER", mais pas dans le cas contraire.

    Sauriez-vous alors d'où ce problème peut intervenir ? De ma variable "recherche" en string (je l'ai utilisée pour filtrer d'autres colonnes qui n'ont pas forcément que des nombres) ?

    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
     
    Private Sub toto()
     
    Dim nblignes As Integer
    Dim recherche As String
     
    nblignes = ThisWorkbook.Sheets("test dvp dabz").Range("A2").End(xlDown).Row  'compte le nombre de lignes dans la colonne A
     
    recherche = Sheets("test dvp dabz").Cells(1, 4).Value 'l'utilisateur rentre la donnée recherchée, celle ci placée dans une variable string
     
    ThisWorkbook.ActiveSheet.Range("A1:A" + CStr(nblignes) + "").Select
    ActiveSheet.Range("$A$1:$A$" + CStr(nblignes) + "").AutoFilter Field:=1, Criteria1:="*" & recherche & "*", Operator:=xlAnd
     
    'Filtre les données colonne A en fonction de la recherche de l'utilisateur
     
    End Sub
    J'ai un fichier exemple disponible, je ne suis pas certain d'avoir la permission de le poster directement. N'hésitez pas à me demander de le transmettre si nécessaire.

    Merci d'avance,

    daBz06

  2. #2
    Membre chevronné
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Par défaut
    Bonjour,

    En essayant votre code j'ai pensé que vous recherchez non pas un nombre mais une suite de chiffres, me rappelant mes pbs avec la confusion chiffre et nombre!

    Voilà pourquoi le code ne fonctionne que sur chaîne de chiffres, sinon il faut mettre un nombre comme critère de sélection, par exemple :
    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
    Private Sub toto()
     
    Dim nblignes As Integer
    Dim recherche As String
     
    nblignes = ThisWorkbook.Sheets("test dvp dabz").Range("A2").End(xlDown).Row  'compte le nombre de lignes dans la colonne A
     
    recherche = Sheets("test dvp dabz").Cells(1, 4).Value 'l'utilisateur rentre la donnée recherchée, celle ci placée dans une variable string
     
    ThisWorkbook.ActiveSheet.Range("A1:A" + CStr(nblignes)).Select
    ActiveSheet.Range("$A$1:$A$" + CStr(nblignes)).AutoFilter Field:=1, Criteria1:=recherche, Operator:=xlAnd
     
    'Filtre les données colonne A en fonction de la recherche de l'utilisateur
     
    End Sub
    Ceci fonctionne avec un nombre en D1, mais cela ne sélectionnera que le nombre en D1 et ce n'est pas ce que vous voulez je pense.

    Pour sélectionner par chiffres, il faudrait créer un critère en fonction de la position des chiffres (... c*100+d*10+e !!!) je vais essayer

    cordialement

    Geogeo70

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dabz06 Voir le message
    Bonjour,

    • Faites comme beaucoup d'entre nous quand nous ne savons pas.
    • Créez une macro et déroulez toute la séquence pour filtrer un nombre. Arrêtez la macro et regardez quelle syntaxe elle vous donne.
    • Vous aurez ensuite à simplifier et à modifier le code pour qu'elle s'adapte à tous les contextes.

    Cordialement.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    Tout d'abord, merci à vous pour vos réponses.

    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    • Faites comme beaucoup d'entre nous quand nous ne savons pas.
    • Créez une macro et déroulez toute la séquence pour filtrer un nombre. Arrêtez la macro et regardez quelle syntaxe elle vous donne.
    • Vous aurez ensuite à simplifier et à modifier le code pour qu'elle s'adapte à tous les contextes.

    Cordialement.
    Effectivement, la macro proposée provient de l'enregistreur et a été réadaptée selon mes besoins. Cependant, je n'arrive pas à le faire correctement puisqu'il apparaît un problème que je n'arrive pas à surmonter. C'est pourquoi j'espère pouvoir trouver ici des éléments qui pourraient parvenir à résoudre ce soucis.

    En essayant votre code j'ai pensé que vous recherchez non pas un nombre mais une suite de chiffres, me rappelant mes pbs avec la confusion chiffre et nombre!
    Je pense aussi que cela pourrait interférer... Je vais essayer de voir cela aussi de mon côté C'est bien seule la valeur située en D1 qui doit être comparée à la liste des éléments dans la colonne A.

    Cordialement,

    A bientôt,

    daBz06

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dabz06 Voir le message
    Sans faire quelque chose de sophistiqué, faites une simple macro en sélectionnant une valeur directement avec le filtre et regardez ce que vous obtenez.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    Sans faire quelque chose de sophistiqué, faites une simple macro en sélectionnant une valeur directement avec le filtre et regardez ce que vous obtenez.
    Ce que j'obtiens a été précedemment décris dans mon premier message.

    Le problème est que mon code fonctionne seulement lorsque les données sont précédées d'un "ALT+ENTER", mais pas dans le cas contraire.
    Pour être plus clair, si ma colonne est composée des chiffres "10;11;12", et que j'entre "10" dans D1, le filtre devrait faire apparaître seulement "10", mais ne le fais pas.

    En revanche, ce que je constate, c'est que si dans cette colonne je met un retour à la ligne dans la cellule "ALT+ENTER 10", alors la macro fonctionne.

    Cela fonctionne mais ne me satisfait pas car j'aimerais pouvoir rentrer mes données dans cette colonne sans devoir utiliser cette solution alternative contraignante.

    J'espère que j'ai pu vous éclairer sur ma situation.

    Merci bien,

    daBz06

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dabz06 Voir le message
    Pièce jointe 232598

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Problème filtre excel sur plusieurs colonnes
    Par bboy-eazy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/07/2015, 14h57
  2. [XSLT][OpenOffice] Problème filtre d'export XML
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 04/06/2011, 20h10
  3. Réponses: 5
    Dernier message: 08/12/2006, 14h42
  4. Problème de colonne
    Par roudoudouduo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 04/07/2006, 15h16
  5. [HTML] Problème de colonne
    Par in_flames68 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 14/06/2006, 11h28

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