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 :

Comparer 2 feuilles Excel VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 0
    Points
    0
    Par défaut Comparer 2 feuilles Excel VBA
    Bonjour,

    Je fais appel à votre savoir, ô spécialistes de VBA.

    Voici un problème de bureautique que je n'arrive pas à résoudre.

    J'ai une première feuille Excel (FEUILLE1) avec 3 colonnes.

    - La colonne 1 (NAME) est une liste d'investisseurs. Elle contient la totalité des investisseurs.
    - La colonne 2 (SHARES) est le nombre d'actions. Aucune donnée renseignée dans la colonne.
    - La colonne 3 (DATE) est... une date. Aucune donnée renseignée dans la colonne.

    Ma seconde feuille (FEUILLE2) contient les mêmes colonnes mais seulement une partie des investisseurs. Ici, les données SHARES et DATE sont renseignées.

    La première feuille est la trame utilisée pour l'ensemble des projets, la seconde est un projet. A chaque nouveau projet, j'obtiens la liste des investisseurs concernés.

    Mon objectif est de comparer le contenu de NAME dans les 2 feuilles et de réaliser les opérations suivantes dans FEUILLE1 :

    1. si NAME est identique*, conserver les lignes et supprimer ou masquer les autres
    2. pour chaque ligne conservée, copier les données des colonnes SHARES et DATE
    3. si des lignes sont dans FEUILLE2 et pas dans FEUILLE1, les copier dans FEUILLE1

    * Les noms des investisseurs pouvant varier, la comparaison se fera sur les 2 premiers mots

    Merci de votre aide !

    Norman

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    As-tu un début de code ?

    Je ne comprends pas trop
    1. si NAME est identique*, conserver les lignes et supprimer ou masquer les autres
    Ce que l'on compare c'est les cellules NAME des feuilles 1 et 2.

    Ton but c'est de mettre à jour ta feuille 1 grâce à la feuille 2 ?
    Si des données sont présentes dans feuille 2 et pas dans feuille 1 , on les ajoute dans feuille 1 ?

    Si des données sont présentes dans feuille 1 mais pas dans feuille 2, on copie les cellules SHARES et DATE ?

    Essaye de préciser en mettant QUOI (ce que tu veux copier) et OU (quelle feuille) avec un début de code peut être

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    Merci pour ta réponse, je vais essayer d'être plus clair !

    J'ai 2 feuilles, FEUILLE1 et FEUILLE2 qui contiennent chacune une liste d'investisseurs dans une colonne qui s'appelle NAME. Ces feuilles contiennent également 2 autres colonnes qui s'appellent SHARES et DATE.

    FEUILLE1 est ma trame et ne contient pas de données dans les colonnes SHARES et DATE, uniquement la liste complète des investisseurs. J'utilise FEUILLE1 car elle contient d'autres colonnes qui me servent pour autre chose.

    FEUILLE2 contient les données qui m'intéressent et n'a que 3 colonnes : les investisseurs concernés dans NAME, le nombre d'actions dans SHARES et une date dans DATE. Je reçois ce document au début de chaque projet

    Pour faire simple, je souhaite intégrer les lignes de FEUILLE2 dans FEUILLE1.

    J'aimerais que ma macro compare les caractères de la colonne NAME des 2 feuilles et masque ou supprime les lignes dans FEUILLE1 qui ne sont pas dans FEUILLE2. Ces investisseurs ne participe pas au projet et ne doivent pas apparaître dans ma feuille.

    Si les 20 premiers caractères d'une cellule sont similaires, je souhaite copier coller les données des colonnes SHARES et DATE de FEUILLE2 vers FEUILLE1.

    Il peut également arriver que de nouveaux investisseurs viennent s'ajouter à la liste. Dans notre programme cela signifie qu'une chaîne de X caractères dans FEUILLE2 n'existe pas dans FEUILLE1. Dans ce cas je souhaite copier les 3 cellules NAME, SHARES et DATE de FEUILLE2 vers FEUILLE1.

    Pas de début de code car je ne sais pas comment attaquer le problème !

    Merci encore.

    Norman

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu!!!
    bonjour

    jai mal a la tete rien qu'a avoir lu ta requete

    bon reprenons

    tu a 2 feuilles
    feuille1
    feuille2
    dans ceq deux feuilles visiblement les clonne qui nous interesse sont les trois 1ere


    dans la feuille 1 tu a les nom ,share,date

    dans la feuille2 tu alameme chose

    dans la premiere les colonne2et3 sont vides

    dans la feuilles2 lescolonne2et3 sont remplie

    mais dans la feuille2 il y a des nom qui n'existe pas dans la feuille1

    donc tu veux

    comparer les nom
    si les nom ne sont pas existant dans la feuille1 on supprime la ligne dans la feuille2

    ensuite tu veux rapatrier les colonnes2et 3 de la feuille2 en feuille1 colonne2et3

    est-ce bien ca?????

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    Bonjour Patrick,

    Merci beaucoup pour ta réponse !

    Alors, oui pour tout le début. Par contre, je veux :

    1. Comparer les caractères de la colonne NAME des 2 feuilles et masquer les lignes dans FEUILLE1 qui ne sont pas dans FEUILLE2.

    2. Si les 20 premiers caractères d'une cellule sont similaires, je souhaite copier-coller les données des colonnes SHARES et DATE de FEUILLE2 vers FEUILLE1.

    3. Il peut également arriver que de nouveaux investisseurs viennent s'ajouter à la liste. Dans notre programme cela signifie qu'une chaîne de 20 caractères dans FEUILLE2 n'existe pas dans FEUILLE1. Dans ce cas je souhaite copier les 3 cellules NAME, SHARES et DATE de FEUILLE2 vers FEUILLE1.

    Au plaisir,
    Norman

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Je pense que ton point 1 n'est pas vraiment nécessaire pour la programmation et prête à confusion.

    *Etape 1*
    1) Il faut comparer les 20 premiers caractères de chaque cellule de la colonne NAME de la feuille 1 avec les 20 premiers caractères de toutes les cellules de la colonne NAME de la feuille 2.
    2) Si on trouve une correspondance, alors il faut copier le contenu des cellules correspondantes des colonnes SHARES et DATE de la feuille 2 dans les colonnes de la feuille 1.
    3) Si on ne trouve rien alors, masquer la ligne correspondante de la feuille 1.

    *Etape 2*
    6) Il faut comparer les 20 premiers caractères de chaque cellule de la colonne NAME de la feuille 2 avec les 20 premiers caractères de toutes les cellules de la colonne NAME de la feuille 1.
    7) Si on trouve une correspondance alors ne rien faire
    8) Si on ne trouve rien, alors copier les 3 cellules des colonnes NAME / SHARES / DATE de la feuille 2, en dernière ligne (par exemple) de feuille 1

    Il faut essayer de t’exprimer en « logique programmation » afin de faciliter la mise en forme du code.
    Est-ce que ça correspond à ce que tu veux ?

Discussions similaires

  1. [XL-2010] Code VBA pour comparer deux feuilles Excel
    Par sam013 dans le forum Excel
    Réponses: 1
    Dernier message: 13/08/2012, 14h53
  2. [XL-2007] [Novice] Comparer deux feuilles excel.
    Par fasedan dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/10/2011, 06h59
  3. [XL-2007] listbox dans feuille excel VBA
    Par ayarikhaoulakoukou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/06/2011, 11h05
  4. [XL-2007] Comparer 2 feuilles Excel et afiicher dans des feuilles résultats
    Par OniSILVER dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/11/2009, 12h03
  5. comparer deux feuilles excel ss VBA
    Par washh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/08/2008, 16h14

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