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 :

Message d'erreur : Valeur #N/A


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 117
    Par défaut Message d'erreur : Valeur #N/A
    Bonjour,

    J'ai 2 fichiers (1 fichier où je vais chercher les données, 1 fichier où je copie ces données).
    Quand je fais l'extraction des données d'un fichier vers l'autre, dans les cellules destinataires j'ai la valeur #N/A qui apparait.

    Extrait du code qui prend une des données (ici il prend l'information contenu dans une des cellules de la colonne 16 pour la coller dans la cellule H6) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     With Range("H6")
        .Formula = "=VLOOKUP(""" & Recherche & """,'" & Chemin & "\[" & Fichier & "]" & Feuille & "'!$A6:$T160,16,false)"
    Que dois je faire pour qu'il me copie la valeur et non ce message d'erreur ?

    Merci.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par thomasdu40 Voir le message
    Bonjour,
    Que dois je faire pour qu'il me copie la valeur et non ce message d'erreur ?
    Merci.
    Faire en sorte, que la valeur contenue dans la variable Recherche se trouve bien dans la plage A6:A160
    C'est exactement la même chose que si tu tapes dans la cellule H6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV("Toto";$A$6:$T$160;16;FAUX)
    Si Toto n'est pas dans la plage A6:A160, tu auras le message #N/A.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 117
    Par défaut
    Bonjour Corona,

    La valeur recherchée se trouve dans la colonne A et si cette valeur est trouvée dans le 2ème fichier dans cette colonne A, il va me chercher une autre valeur toujours dans le 2ème fichier (dans l'exemple dans la 16ème colonne) mais uniquement si cette la valeur recherchée en colonne A est présente.

    J'ai bien une valeur dans la 16ème colonne, j'ai ma valeur recherchée qui est bien présente dans le 2ème fichier mais....... toujours #N/A.

    J'ai beau triturer dans tous les sens le code rien n'y fait.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par thomasdu40 Voir le message
    Bonjour Corona,
    La valeur recherchée se trouve dans la colonne A et si cette valeur est trouvée dans le 2ème fichier dans cette colonne A, il va me chercher une autre valeur toujours dans le 2ème fichier (dans l'exemple dans la 16ème colonne) mais uniquement si cette la valeur recherchée en colonne A est présente.
    J'ai bien une valeur dans la 16ème colonne, j'ai ma valeur recherchée qui est bien présente dans le 2ème fichier mais....... toujours #N/A.
    J'ai beau triturer dans tous les sens le code rien n'y fait.
    Je me répète, la fonction RECHERCHEV (VLOOKUP) avec comme 4ème argument FAUX (recherche de valeur exacte), renvoie un message d'erreur #N/A si la valeur contenue dans le 1er argument ne se trouve pas présent dans la première colonne de la base de données référencée dans le 2ème argument.
    Vérifie bien cela.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 117
    Par défaut
    J'ai testé en intégrant directement la formule suivante dans la cellule destinataire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTNA(RECHERCHEV(H9;'G:\S - ISO\Audit\[Planning audit_nouvelle version 2012.xls]Planning 2012'!$A6:$T160;16;FAUX));"";RECHERCHEV(H9;'G:\S - ISO\Audit\[Planning audit_nouvelle version 2012.xls]Planning 2012'!$A6:$T160;16;FAUX))
    et là ça fonctionne. Donc mon code VBA doit comporter une erreur.

    Je m'y replonge.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    Il n'y a pas d'erreur dans ton code VBA, Excel, n'a simplement pas trouvé la valeur cherchée.
    Ce que tu as ajouté est le code qui permet de renvoyer une autre valeur que #N/A.
    Tu pourrais tout aussi bien écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTNA(RECHERCHEV(A2;dbStock;2;FAUX));"Pas trouvé";RECHERCHEV(A2;dbStock;2;FAUX))
    Ou depuis la version 2007, la formule SIERREUR
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(RECHERCHEV(A2;dbStock;2;FAUX);"Pas trouvé")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre émérite
    Homme Profil pro
    Contrôleur de gestion en activité
    Inscrit en
    Juillet 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion en activité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 545
    Par défaut
    Bonjour

    A priori, s'il te mets un mesage d'erreur, c'est qu'il ne trouve pas la valeur rechercher, donc il ne risque pas de te renvoyer la correspondance.

    au plaisir

  8. #8
    Membre émérite
    Homme Profil pro
    Contrôleur de gestion en activité
    Inscrit en
    Juillet 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion en activité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 545
    Par défaut
    attention au format texte ou numérique dans tes deux tables, ça perturbe pas mal la recherchev.

    fait un test avec la fonction =

    si ces valeurs te semblent identiques et que excel les voit différentes, tu auras un FAUX.
    Attention également aux espaces en trop, points, etc.

Discussions similaires

  1. Message d'erreur "valeur entière"
    Par djsmoye dans le forum Débuter
    Réponses: 11
    Dernier message: 19/11/2010, 20h35
  2. Réponses: 3
    Dernier message: 06/03/2007, 15h15
  3. Réponses: 1
    Dernier message: 19/12/2006, 23h19
  4. Réponses: 5
    Dernier message: 13/12/2006, 14h34
  5. message d'erreur lorsque j'essaie de changer la valeur d'un champ.
    Par cladsam dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/06/2006, 15h00

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