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 :

Filtrer sur #N/A [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut Filtrer sur #N/A
    Bonjour,

    Jusqu'à présent, j'utilisais le code suivant pour filtrer les valeurs contenant une erreur #N/A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Data").ListObjects("dbTable").Range.AutoFilter Field:=13, Criteria1:="#N/A"
    Cela marchait très bien sur mon ordi. Cependant, le fichier est utilisé aussi par quelqu'un dont Excel est paramétré en néerlandais. En néerlandais #N/A devient #N/B, du coup, le filtre ne s'effectue plus comme je le voudrais.
    Y a-t-il moyen de dire qu'on veut filtrer sur les erreurs #N/A indépendamment de la langue? En effet, isNa() permet de savoir si une cellule contient une erreur de type #N/A, mais je n'arrive pas à l'utiliser dans le code pour filtrer.

    Avez-vous des idées? Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Data").ListObjects("dbTable").Range.AutoFilter Field:=13, Criteria1:=CVErr(xlErrNA)
    A vérifier
    Aide microsoft pour la fonction CVErr

    Mais je sais que j'utilise cette écriture : "CVErr(xlErrNA)" pour retrouver mes #N/A sur certains fichiers utilisé par moi (Excel français ou anglais) et des collègues japonais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Range("C15") = CVErr(xlErrNA) Then
    '... Code
    End If

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 682
    Par défaut
    Bonjour,

    Ne connaissant pas la méthode de Al__22 voici ce que j'aurais fait:

    inscrire la formule =na() dans une cellule et récuper le texte de l'erreur dans cette cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(1, 1).Formula = "=na()"
    Sheets("Data").ListObjects("dbTable").Range.AutoFilter Field:=13, Criteria1:=Cells(1, 1).value

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut
    Merci pour vos réponses!
    J'ai continué à chercher de mon côté et en fait, j'ai résolu le problème en amont. #N/A venait d'une formule, du coup, j'ai utilisé SIERREUR (IFERROR en VBA) pour récupérer le cas où il y a #N/A et le remplacer par qqc que je peux filtrer facilement (dans mon cas un 0 suffisait). Ca me paraît évidemment maintenant que je l'ai fait
    Mais vos réponses m'apprennent des choses aussi, je me coucherai moins bête ce soir

  5. #5
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 574
    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 574
    Par défaut
    Bonjour

    De façon générale, sauf cas particuliers de sources de graphique, il faut toujours anticiper les erreurs dans les formules car cela entraîne toujours des PB.

    Le SIERREUR a bien simplifié les choses...

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

Discussions similaires

  1. Filtrer sur date
    Par pierrot67 dans le forum Débuter
    Réponses: 3
    Dernier message: 17/10/2007, 23h02
  2. [2.0.1] Filtrer sur les colonnes avec BIRT
    Par nikado dans le forum BIRT
    Réponses: 2
    Dernier message: 07/08/2007, 12h22
  3. comment Filtrer sur la date
    Par pierrot67 dans le forum Bases de données
    Réponses: 11
    Dernier message: 27/04/2007, 12h20
  4. [D7], [MS SQLSERVER], filtrer sur un champ de type entier
    Par iam dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/12/2006, 16h19
  5. Filtrer sur les données vides dans un formulaire
    Par jevany dans le forum Access
    Réponses: 7
    Dernier message: 29/05/2006, 08h50

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