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 de variable dans un RECHERCHEV


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut problème de variable dans un RECHERCHEV
    Amis du forum bonjour

    Je rencontre un problème lorsque je veux faire un RECHERCHEV, non pas d'une cellule, mais d'une variable. Si je tape ce code, pas de problème;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(S6>10;S6<=20);RECHERCHEV("04";'[Grille des Tarifs.xlsx]Tarifs'!$A$1:$F$50;4;FAUX);"")
    Par contre, lorsque je défini une variable et que je veux faire un RECHERCHEV sur cette variable, par exemple

    ma formule en VBA devient donc comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AE" & descente).FormulaR1C1 = "=IF(AND(RC[-12]>10,RC[-12]<=20),VLOOKUP(" & dep & ",'[Grille des Tarifs.xlsx]Tarifs'!R1C1:R50C6,4,FALSE),"""")"
    et le résultat donne ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(S6>10;S6<=20);RECHERCHEV(4;'[Grille des Tarifs.xlsx]Tarifs'!$A$1:$F$50;4;FAUX);"")
    ce qui ne fonctionne pas !

    Comme je dois faire ces tests sur tous les départements, je me vois mal faire autant de ligne que de départements.

    Si quelqu'un a une solution à me proposer, je l'en remercie grandement.

  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,

    il manque juste les guillemets comme dans la formule de feuille de calculs !
    A comparer avec ce que renvoie en VBA la propriété Formula de cette cellule …

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Merci de ta réponse, mais lorsque je rajoute encore des guillemets,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("AE" & descente).FormulaR1C1 = "=IF(AND(RC[-12]>10,RC[-12]<=20),VLOOKUP("" & dep & "",'[Grille des Tarifs.xlsx]Tarifs'!R1C1:R50C6,4,FALSE),"""")"


    voici le résultat dans la cellule, il recherche & dep & :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ET(S6>10;S6<=20);RECHERCHEV(" & dep & ";'[Grille des Tarifs.xlsx]Tarifs'!$A$1:$F$50;4;FAUX);"")

  4. #4
    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 car tu as oublié de fermer la chaine de caractères avant & dep & par un guillemet
    et il en manque encore un après pour ouvrir la chaine suivante !

    Rappel : un guillemet doit être doublé au sein d'une chaine elle-même balisée par des guillemets …

    Et si bobo à la tête utiliser alors à la place l'instruction VBA Chr$(34) !

  5. #5
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Cool, merci beaucoup, ça fonctionne.
    On en apprend tous les jours !

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

Discussions similaires

  1. Problème de variable dans un foreach
    Par VolaiL dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/05/2006, 16h57
  2. [MySQL] Problme de variables dans requete
    Par eown dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/04/2006, 17h05
  3. Réponses: 8
    Dernier message: 23/03/2006, 19h30
  4. problème de variable dans formulaire
    Par chienlou dans le forum Langage
    Réponses: 4
    Dernier message: 20/03/2006, 06h53
  5. [VB.NET] [Débutant] Probléme de variable dans les requettes
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 13h13

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