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 :

Macro avec recherchev


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut Macro avec recherchev
    Bonjour à tous

    Cette macro avec fonction recherchev bug au niveau du range

    Une idée ?

    Merci d'avance !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro1()
     
    Dim Formule As String
     
     
      Formule = "=RECHERCHEV(Principal!G20;Collectivités!E5:K16;11;FAUX)"
     
     
        Range("B2").Value = Formule
     
    End Sub

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 88
    Par défaut
    il ne sait peut-être pas sur quel classeur et quelle feuille travailler ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook("toto.xls").worksheets(1).range("B2").value

  3. #3
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut
    Je ne pense pas que ce soit ça mais je vais essayer quand même demain au boulot

  4. #4
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut
    Peut-être un problème avec "Formule" ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Recherches dans l'aide Access du coté de Formula et FormulaLocal, de même sur le forum et la FAQ Excel : http://excel.developpez.com/faq/inde...rmules#Formula

    De plus comme le dit le Petit Nicolas, affectes bien à ton classeur.

    Starec

  6. #6
    Membre chevronné
    Inscrit en
    Janvier 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 483
    Par défaut
    Bonsoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("B2").FormulaLocal = Formule
    Abed_H

  7. #7
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonsoir,

    Citation Envoyé par Tof XXX Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Formule = "=RECHERCHEV(Principal!G20;Collectivités!E5:K16;11;FAUX)"
        Range("B2").Value = Formule
    L’idée un peu curieuse dans ton code était l’emploi de Value, qui correspond à la valeur de la cellule, sauf si tu veux y afficher la formule.

    Dans ce cas, il aurait fallu écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Formule = """=RECHERCHEV(Principal!G20;Collectivités!E5:K16;11;FAUX)"""
        Range("B2").Value = Formule
    Car les guillemets étant significatifs dans le code VBA, pour en afficher 1, la convention consiste à le doubler, et à le placer lui-même entre guillemets comme toute chaine de caractères :

    affichera un guillemet.

    Pour afficher la formule, le code de Abed_H

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("B2").FormulaLocal = Formule
    est parfait.

    La seule restriction est que si tu travailles dans un environnement international, cela ne fonctionnera pas avec une version d’Excel dans une autre langue.

    Pour que le code fonctionne quelle que soit la langue,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("B2").FormulaR1C1 = "=VLOOKUP(Principal!R[18]C[5],Collectivités!R[3]C[3]:R[14]C[9],11,FALSE)"
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
           Range("B2").Formula = "=VLOOKUP(Principal!G20,Collectivités!E5:K16,11,FALSE)"
    NB - La variable "Formule" ne se justifie que si elle est réutilisée ailleurs.

    Cordialement,

  8. #8
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut
    Merci à vous tous, ça marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("B2").FormulaLocal = Formule

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

Discussions similaires

  1. macro avec ##
    Par Bayard dans le forum C
    Réponses: 5
    Dernier message: 09/01/2007, 20h31
  2. [VBA-E] macro avec fonction "TRANSPOSE"
    Par Ardeciel dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 12/06/2006, 16h11
  3. plantage macro avec requete type insert
    Par zephyr59 dans le forum Access
    Réponses: 4
    Dernier message: 06/04/2006, 00h34
  4. [VBA][Excel]Exécution macro avec fichiers source
    Par ouezon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/12/2005, 00h00
  5. macro avec visual
    Par moldavi dans le forum MFC
    Réponses: 4
    Dernier message: 02/04/2005, 20h14

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