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 :

formule différente dans la cellule que dans la macro vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut formule différente dans la cellule que dans la macro vba
    Bonjour a tous
    sur mon classeur j'ai plusieurs feuilles comme la feuille "effectif" dans laquelle je recherche et la feuille "formation" dans laquelle j'écris
    voila mon problème, je souhaite rentrer la formule : "=RECHERCHEV(A496;effectif;2;FAUX)" dans une cellule pour que celle-ci m'affiche de le résultat, j'ai mis du temps pour y parvenir et, après beaucoup de recherches, j'utilise le code suivant:
    sheets("formation").Range("B496").Formula = "=RECHERCHEV(A496,effectif,2,FAUX)"

    Le soucis c'est que dans la cellule j'obtient la réponse : #NOM? et quand je regarde la formule inscrite dans la cellule j'ai : =RECHERCHEV(A496;effectif;2;'FAUX').
    Ce sont les deux apostrophes autours de FAUX qui gène et je ne sais pas d'ou elles viennent ni comment les éviter.

    Si quelqu'un peut m'aider, merci a vous

  2. #2
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour,

    Formula est réservé au langage interne d'Excel (l'anglais)
    et pour une formule dans une version étrangère (française) utiliser FormulaLocal

    ___________________________________________________________________________________________________________

         Merci de cliquer sur en bas à droite de chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour Marc-L
    Quand je change Formula par FormulaLocal j'obtiens une erreur 1004 qui me donne une erreur definie par l'application ou par l'objet

  4. #4
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut



    Faute d'orthographe dans la formule (vérifier avec celle entrée manuellement dans la cellule),
    cellule protégée + feuille protégée, erreur d'objet, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Truff_Truffe Voir le message
    Quand je change Formula par FormulaLocal j'obtiens une erreur 1004 qui me donne une erreur definie par l'application ou par l'objet
    Quand on est en FormulaLocal, il faut appliquer TOUTES les règles locales.
    Entre autre, avec Excel francophone, le séparateur de paramètres est ";" et non ",".

    Mais ce n'est pas ça qui soldera ton erreur VBA.
    Cependant, pour savoir où se trouve l'erreur, il faudrait que tu copies la VRAIE ligne de code telle qu'elle est dans VBE.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 913
    Points
    55 913
    Billets dans le blog
    131
    Par défaut
    Salut.

    Perso, je préfère de loin le Formula au FormulaLocal car le Formula ne changera jamais de syntaxe, elle est interne à Excel. Alors que le FormulaLocal risque de varier d'un pc à l'autre, d'une config à l'autre, et sera de toute manière verrouillé à la langue utilisée lors de la création du code. Cela veut dire que si tu es en français et que tu écris une FormulaLocal, ta macro ne fonctionnera que sur un Excel utilisant le français ET les mêmes spécificités régionales de Windows/Excel que sur le pc de création du code, comme le fait remarquer Menhir (séparateurs de liste, ...).
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,

    Si tu n'est pas habitué à écrire une formule en vba, alors aide toi de la fenêtre d'exécution.
    Sélectionne la cellule où se trouve la formule que tu veux utiliser en vba, puis dans la fenêtre d'exécution écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Selection.Formula
    Valide avec la touche retour et tu obtiendras ta formule (à adapter si besoin)
    Fais une recherche sur le site il y a 2 pages d'explications avec les formules en vba …

    PS : n'oublie pas les guillemets etc …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    j'ai déjà fait un copier coller de la formule présente sur la feuille excel et j'ai bien placer des "," à la place des ";" mais je comprend pas pourquoi en utilisant la macro j'obtiens ces fameux apostrophes autours de FAUX, ni comment les supprimer

  9. #9
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Ne fais pas de copier coller de la feuille Excel il y'a des différences
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    cela expliquerai l'apparition des apostrophes autour de FAUX sur la feuille excel ? car j'ai bien remplacé les ";" par "," et le code fonctionne presque mis a part les apostrophes

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Truff_Truffe Voir le message
    j'ai déjà fait un copier coller de la formule présente sur la feuille excel et j'ai bien placer des "," à la place des ";" mais je comprend pas pourquoi en utilisant la macro j'obtiens ces fameux apostrophes autours de FAUX, ni comment les supprimer
    Est-ce que tu as choisi Formula ou FormulaLocal ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    j'ai choisit Formula dans mon code

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans ce cas, il ne faut pas utiliser FAUX puisque d'est français mais FALSE.
    De même, tu ne peux pas utiliser RECHERCHEV mais son équivalent anglophone.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    ça fonctionne, j'aurai pu chercher longtemps, merci beaucoup !!

  15. #15
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    si tu avais fait le Debug.print tu aurais eu, ex.:
    • dans ma cellule A1 => =RECHERCHEV(1;G1:L35;2;FAUX)
    • on selectionne la cellule (ici A1 pour obtenir la formule))
    • dans la fenêtre d'exécution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Selection.Formula
    • on valide
    • le résultat obtenu => =VLOOKUP(1,G1:L35,2,FALSE)

    je n'ai pas l'impression que tu l'as fait ou j'ai raté un épisode …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  16. #16
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 913
    Points
    55 913
    Billets dans le blog
    131
    Par défaut
    On peut faire plus court dans la fenêtre d'exécution (affichable avec CGTRL+G si non affichée)


    J'dis ça parce que je suis paresseux...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  17. #17
    Membre expérimenté
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 667
    Points : 1 419
    Points
    1 419
    Par défaut
    +1 et merci pour l'info Pierre, je la connaissais pas celle-la!

  18. #18
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274

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

Discussions similaires

  1. [XL-2010] Formule Pour Additionner une Cellule Changeante dans une Autre Cells
    Par Hooly dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/08/2017, 16h45
  2. Alignement du texte différent entre FF et IE dans des cellules
    Par efrbeldin dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/07/2011, 08h26
  3. Réponses: 3
    Dernier message: 27/04/2010, 19h00
  4. Réponses: 1
    Dernier message: 21/04/2008, 15h16
  5. Réponses: 7
    Dernier message: 26/03/2007, 09h34

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