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 :

erreur #Valeur VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Par défaut erreur #Valeur VBA
    Bonjour,

    j'éssaie de faire un truc simple j'ai trois colonnes dans un fichier excel, j'aimerai via une fonction qui retourne vrai si la valeur de la cellule (2,1) est dans la colonne B par exemple.

    Le code ne marche que si dans la cellule j'ai des caractères si c'est des nombres ça marche pas.
    Voila mon code
    Code VBA : 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
    19
    20
    21
    22
    23
    24
    Option Explicit
    Dim Feuille As Worksheet, Plage1 As Range
     
    Public Function existecontrats(nomcherché As Variant) As Variant
      Dim nomcherche As Variant
      Dim cellule As Range
      nomcherche = nomcherché
      Set Feuille = ThisWorkbook.Sheets("Contrats")
      Set Plage1 = Feuille.Columns("B:B")
     
      If nomcherche <> "" Then
     
      Set cellule = Plage1.Cells.Find(nomcherche) ' le nomcherché dans la cellule de la plage sélectionnée
      existecontrats = cellule
        If cellule <> "" Then
         existecontrats = "VRAI"
        Else
          existecontrats = "FAUX"
        End If
     
        Else
        Exit Function
     End If
    End Function

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Bonjour !

    Un code est inutile pour cela, une simple fonction de feuille de calculs peut s'en acquitter !

    Sans compter le simple filtre … Quel est donc le but ?


    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    comme souligné par Marc-L, la fonction NB.SI fait très bien l'affaire

    tu peux l'utiliser en VBA via Application.WorkSheetFunction.COUNTIF(), en regardant si le nombre d'occurrence de la valeur cherchée dans la colonne B est égale à 0 ou non

  4. #4
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.match(Valeurcherché,Vecteur colonne,0)
    des fois c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.worksheetfunction.match
    Ca marche aussi

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Mieux vaut éviter WorksheetFunction en cas de non concordance (erreur !)

  6. #6
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Comment ca concordance ?

    dans tous les cas worksheetfunction marche tjs .

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Ben non : la fonction de feuille de calculs EQUIV renvoie une erreur lorsqu'il n'existe pas de concordance !

    Et avec WorksheetFunction cette erreur est fatale … (erreur d'exécution 1004)

  8. #8
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Ah oui c'est pas faux, effectivement à éviter ma methode.
    Y'a mieux c'est sure.

  9. #9
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Aucun souci sans WorksheetFunction via juste Application.Match combiné avec IsError ou IsNumeric

    Voir les exemples dans les discussions de ce forum !

  10. #10
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Oui voir même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isna(match(.....)) then ... vu que l'erreur est apparemment #NA mais bon sa deviens bofbof mais c'est interessant ;)

  11. #11
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Par défaut
    Merçi ça marche nickel

  12. #12
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Merci aux idiots m'ayant attribué des points négatifs sans comprendre de quoi il s'agit
    ni encore moins avoir testé dotés de leur science infuse et sans compter les exemples dans les discussions de ce forum !

    Ne pas se rappeler donc de cette discussion lorsque vous ferez face à l'erreur déclenchée par WorksheetFunction


    _________________________________________________________________________________________________________
    Deux choses sont infinies : l’Univers et la bêtise humaine.
    Mais en ce qui concerne l’Univers, je n’en ai pas encore acquis la certitude absolue ! (Albert Einstein)


  13. #13
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    le forum semble avoir été récemment peuplé par des adeptes du -1 sur des messages pertinent et juste .... que je met sur le compte d'une juvénilité doublé d'une méconnaissance des informations qu'ils lisent (et ne prennent pas la peine de tester)

    ils semblent même avoir leurs têtes de turcs, je n'en fais pas encore partie

    et à la limite, je viens pas ici pour gagner de points, mais apprendre en aidant. Alors qu'ils s'en donnent à cœur joie.

    Cependant, et ce message d'adresse plus particulièrement aux modérateurs, serait-il possible que le forum permette :

    - à tout utilisateur enregistré
    - à défaut, à l'auteur du sujet

    de pouvoir consulter la liste des personnes ayant voté positivement ou négativement

    L'idée n'est pas de générer des conflits. Mais je suis persuadé qu'en levant légèrement l'anonymat des votes, ça pourrait inciter à la modération


    Sinon (ou en complément), obliger les votes négatifs à le justifier par un commentaire contextuel

  14. #14
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Oui comme sur d'autres forums ne pouvoir mettre que des points positifs
    encourageant ainsi ceux en désaccord à s'exprimer dans les discussions …

  15. #15
    Membre chevronné Avatar de Kiouane
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 198
    Par défaut
    L'idée de mettre en commentaire la justification du vote est plutôt bonne. Si la justification n'est pas cohérente, le modérateur sanctionne.

  16. #16
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    le forum semble avoir été récemment peuplé par des adeptes du -1 sur des messages pertinent et juste .... que je met sur le compte d'une juvénilité doublé d'une méconnaissance des informations qu'ils lisent (et ne prennent pas la peine de tester)

    Ma naïveté me fait plutôt penser que les membres de l’ADD (Association des Daltoniens Développeurs)
    viennent de découvrir ce forum.

    Comme les messages de Marc-L sont clairs et pertinents, ils votent mais se trompent de couleurs.

  17. #17
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Et ils marchent au plafond comme Spider Cochon car ils confondent aussi pouce vers le haut et pouce vers le bas !

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

Discussions similaires

  1. [XL-2007] VBA - HLookup erreur Valeur
    Par pétrin dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/09/2015, 10h39
  2. Problème valeurs[VBA]
    Par Yanmeunier dans le forum Access
    Réponses: 1
    Dernier message: 18/05/2006, 16h17
  3. Traitement d'erreur dans VBA
    Par charleshbo dans le forum VBA Access
    Réponses: 9
    Dernier message: 10/02/2006, 15h03
  4. Erreur : Valeur incorrecte pour ce champ
    Par Invité dans le forum Access
    Réponses: 5
    Dernier message: 04/01/2006, 13h09
  5. Récupération d'erreur en VBA
    Par User dans le forum Access
    Réponses: 3
    Dernier message: 13/09/2005, 18h08

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