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 :

[VBA ARRAY]Recherche dans un tableau par rapport à une plage


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [VBA ARRAY]Recherche dans un tableau par rapport à une plage
    Bonjour tout le monde,

    je demande l'aide de toute personne qui maitrise la fonction ARRAY de VBA.
    Je souhaiterais traiter un tableau de plusieurs 100ene de milliers de lignes et qui s'agrandit continuellement.
    L'idée c'est qu'il y a deux bases de données, la principale (la plus volumineuse) qui contient toutes les données et la deuxième qui détermine sur quels éléments apporter les modifications.

    Je mets à dispo un fichier permettant de mieux comprendre la situation.
    L'idée est de modifier dans l'onglet BASE les NOMS contenues dans l'onglet MODIFICATIONS. Si le nom apparait dans cet onglet alors on cherche dans la ligne (BASE) la valeur la plus récente (sans tenir compte des 0). Le but est de remplacer les derniers 0 de ces NOM par vide.

    J'ai tenté de me lancer avec des boucles (de recherche vertical puis horizontal) mais au bout de 10min Excel n'était toujours pas revenu à lui

    Si vous avez des pistes (même autre que ARRAY) ou bien même la solutions, je suis preneur.

    Je vous remercie bien fortement d'avance,

    http://c.sdbx.co/1oGzMNk

    Hugo
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 173
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par Hugo_pack Voir le message
    Le but est de remplacer les derniers 0 de ces NOM par vide.
    Juste pour être sûr de bien comprendre : du fait que NOM_1 fait partie de l'onglet MODIFICATION, tu veux que la plage G2:I2 soit remplie de "" ou simplement la cellule I2 ?

    Je ferais comme ça :
    Tu sélectionne le Range des noms de l'onglet MODIFICATION
    Tu stockes ça dans un tableau
    Ensuite, pour savoir si un nom donné appartient à ce tableau, tu peux par exemple utiliser la fonction VLookUp en faisant une recherche exacte (équivalent VBA de la recherchev)
    Le Range qui correspond à ton tableau de l'onglet BASE, tu le mets dans un tableau.
    Puis tu parcours tous les éléments de la première colonne de ce tableau, tu utilises ta fonction VLookUp pour savoir si le nom fait partie de la liste à modifier, et tu fais tes modifications.
    A la fin, tu colles ton tableau dans le Range de l'onglet Base.

    Rq : on peut aussi ne pas utilise de tableau et travailler directement sur des cellules. C'est plus simple, mais ce sera plus long à tourner.

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2009, 13h50
  2. Réponses: 1
    Dernier message: 25/09/2008, 16h07
  3. Recherche dans un tableau par date et modification
    Par Alec dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2008, 14h11
  4. [VBA-E]Recherche dans un tableau
    Par Zebulon777 dans le forum Macros et VBA Excel
    Réponses: 49
    Dernier message: 05/07/2006, 10h35
  5. [VBA-E] recherche dans un tableau
    Par tibss dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 03/05/2006, 17h52

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