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 multi-critères dans un tableau en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2
    Par défaut Recherche multi-critères dans un tableau en VBA
    Bonjour,

    J'espère ne pas poser pour la 1000ème fois une question déjà posée mais bon : je me lance.

    J'ai une feuille de calcul composée d'évènements commerciaux dans laquelle chaque client peut avoir entre 1 et n lignes (1 ligne par évènement). Parmi ces évènement, un est particulier : le 1er RDV.

    J'aimerais pouvoir ajouter une colonne m'indiquant la durée en mois entre le 1er RDV et la vente concernée par la ligne (la ligne contenant le 1er RDV sera alimentée par la valeur 999)

    Exemple :

    John-DOO-1er RDV-01/01/2013-999
    Robert-JOHNSON-Convention compte-11/04/2013-2
    John-DOO-Crédit Conso-12/04/2013-4
    John-DOO-Assurance Vie-01/06/2013-6
    Robert-JOHNSON-1erRDV-11/02/2013-999

    J'ai réalisé l'alimentation de la dernière colonne via une formule à base de INDEX et EQUIV directement dans ma feuille mais les performances sont désastreuses (il y a beaucoup de données).

    J'ai cru comprendre qu'en passant par des tableaux en VBA je pourrai gagner beaucoup en perf. Mais je n'ai jamais fait de macros...

    Une bonne âme pourrait-elle m'aider ?

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J'ai réalisé l'alimentation de la dernière colonne via une formule à base de INDEX et EQUIV directement dans ma feuille mais les performances sont désastreuses (il y a beaucoup de données).
    Quelle est cette formule?


    Tu peux l'utiliser par vba et en figeant le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Test()
     
    Application.ScreenUpdating = False
    With Worksheets("Feuil1").Range("E2:E1000")
        .Formula = "=ta formule avec index et equiv"
        .Value = .Value
    End With
    End Sub

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une piste avec un TCD. Voir le fichier joint.


    Cordialement.

  4. #4
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2
    Par défaut
    Ma formule avec INDX et EQUIV est :

    =INDEX($S:$S; EQUIV(1;($AE:$AE="BP1EC")*($A:$A=A2)*($B:$B=B2);0)



    "BP1EC" est le code correspondant à mon 1er RDV
    A est la colonne des noms
    B celle des prénom
    S celle des dates d'évènements
    AE celle des types d'évènements

    La fonction me renvoie la date de 1er RDV pour le client donné. Ensuite je n'ai plus qu'à faire mois(D2-D1) pour avoir ma durée en mois.

    Ce que je ne comprends pas dans ta solution Mercatog c'est que si j'affecte "dynamiquement" via une macro la même formule à mes cellules, comment est-ce que cela pourrait améliorer mes perfs ?

    Je pensais qu'en VBA il y avait possibilité de charger mon tableau et d'utiliser des méthodes de recherche plus efficace que via une simple formule...

Discussions similaires

  1. recherche multi-critères dans un tableau
    Par mbleuet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/07/2011, 10h46
  2. Recherche multi-critères dans un userform
    Par DRH01 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/05/2010, 14h28
  3. [AC-2003] Recherche multi-critère dans une même table
    Par Tadao dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/03/2010, 19h01
  4. recherche multi-critères dans un formulaire de recherche
    Par sam1975 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/08/2009, 18h12
  5. Réponses: 7
    Dernier message: 26/10/2006, 15h13

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