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 :

Recherche V non dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    APPRENTI
    Inscrit en
    Novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : APPRENTI
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2019
    Messages : 12
    Par défaut Recherche V non dynamique
    Bonjour,
    Je voudrais a l'aide d'une maccro fair une recherche V avec seulement le rersultat de cette recherche V qui soit copié, je ne veux pas que le fichier soit dynamique et change si la valeur du fichier source change, je veux des resultats fixe qui se rafraichirons a chaque fois que je lance la macro.
    Je peux faire la recherche v sur une autre feuille ensuite faire un copier coller, mais existe il une commande pour le faire directement?

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Il existe en VBA : WorksheetFunction.VLookup

    ldu coup lançable quand tu déclanches ta macro

  3. #3
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    En plus de Worksheet.Function.VLookUp, tu as Evaluate qui permet d'évaluer une expression.

    Ici, je l'illustre avec une formule dans une cellule car c'est parfois plus simple de saisir la formule en Excel et de l'utiliser pour rédiger le code en VBA.

    1. On crée la formule dans une cellule
    2. On récupère sa syntaxe VBA
    3. On utilise la chaine récupérée au sein de EVALUATE



    Nom : 2019-11-28_151619.png
Affichages : 140
Taille : 51,2 Ko
    "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...
    ---------------

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous,

    Salut Pierre,

    Si je comprends bien, la fonction Evaluate permet d'écrire plus simplement le résultat d'une fonction de feuille de travail

    Ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WorksheetFunction.VLookUp
    Ceci, dis-moi si je me trompe, autant que toutes les fonctions de feuille puissent être gérées par VBA.
    Autrement dit, dans la mesure où toutes les fonctions de feuille (NB.SI.ENS, ECARTYPEP...) puissent argumenter WorksheetFunction.
    Ce dont je ne suis pas sûr.

    Merci

  5. #5
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut Marcel,

    Je ne dirais pas que Evaluate permet d'écrire plus simplement, mais différemment, oui (la notion "simple" est trop subjective pour moi). WorksheetFunction et Evaluate ont leur raison d'être et il est utile de connaître les deux. Je peux dire que Evaluate permet la matricielle là où WorksheetFunction ne la permet pas à tous les coups. Mais Evaluate évalue la fonction tel qu'Excel le ferait. Ce qui veut dire que si j'utilise Evaluate("=A1"), c'est le A1 de la feuille active qui sera utilisé, ce qui peut poser problème. WorksheetFunction travaillera lui avec un objet Range, qui peut être indépendant de la feuille active.

    Néanmoins, j'aime bien Evaluate, qui permet des choses très chouettes sur les tableaux structurés, comme je l'ai montré hier dans cette discussion (Et là, je pense que Evaluate est effectivement plus simple que WorksheetFunction...

    J'aime bien aussi Evaluate car il me permet de redire "Lorsque l'on programme en VBA pour Excel, on pense Excel avant de penser VBA..." ...
    "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...
    ---------------

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    D'accord.
    Merci Pierre.

    Il me reste une interrogation.
    Toutes les fonctions natives d'Excel peuvent-elles être appelées en VBA par WorksheetFunction?
    En 12 ans, je n'ai pas rencontré de contre exemples. Au demeurant, j'ai un doute.

  7. #7
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    ... J'aime bien aussi Evaluate car il me permet de redire "Lorsque l'on programme en VBA pour Excel, on pense Excel avant de penser VBA..." ...
    Je suis totalement d'accord avec ceci je

  8. #8
    Rédacteur/Modérateur


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut Marcel,

    j'ai le vague souvenir que certaines n'ont pas été ajoutées au modèle objet Excel (car en fait, lorsque l'on utilise Application.WorksheetFunction, on ne "fait" pas du vba, mais on utilise les objets Excel au travers de VBA). Il faudrait que je pioche dans mes petits papiers pour retrouver cela.

    Cela étant, si utiliser une fonction est envisageable avec WorksheetFunction, en imbriquer quelques-unes devient assez lourd en terme de saisie et de lecture (même en supprimant les WorksheetFunction, et donc la saisie semi-automatique et l'infobulle de suivi)...

    Nom : 2019-12-03_200940.png
Affichages : 108
Taille : 49,9 Ko


    Merci Igloobel
    "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...
    ---------------

Discussions similaires

  1. [STL]vector, allocation non dynamique.
    Par johnnyjohnny dans le forum SL & STL
    Réponses: 5
    Dernier message: 11/07/2007, 14h56
  2. création non dynamique de plusieurs form MDI
    Par chamamo dans le forum C++Builder
    Réponses: 7
    Dernier message: 21/10/2006, 16h29
  3. [Tableaux] Script de recherche pour site dynamique
    Par clemsouz dans le forum Langage
    Réponses: 7
    Dernier message: 12/05/2006, 16h31
  4. allocation dynamique et non dynamique...
    Par youp_db dans le forum C
    Réponses: 3
    Dernier message: 02/10/2005, 13h32
  5. Recherche composant tableau dynamique
    Par nikhil dans le forum Composants VCL
    Réponses: 4
    Dernier message: 28/07/2005, 14h02

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