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 code VBA pour macro entre 2 fichiers [XL-2016]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Directeur technique
    Inscrit en
    Août 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Août 2019
    Messages : 15
    Par défaut Recherche code VBA pour macro entre 2 fichiers
    Bonjour à tous et à toutes,

    Je suis nouveau dans le monde du langage VBA sur Excel et j’aimerai effectuer une opération depuis un macro. Je suis en train d’apprendre les bases du VBA, mais j’ai encore beaucoup de chemin à faire avant d’être en mesure d’écrire la ligne de code nécessaire à l’opération que je souhaite effectuer. Je ne sais vraiment pas par où commencer ni même quel genre de formule serait nécessaire. Voici les détails :
    * J’ai joint un fichier Excel avec des explications visuel. *

    Il y a deux fichiers concernés :
    - Le fichier « FICHIER_ABC » contenant les feuilles « feuille__avec_macro » et « origine_abc » localisé à l’emplacement « F:\dossier1 »
    - Le fichier « FICHIER_XYZ » contenant la feuille « fin_xyz » localisé à l’emplacement « F:\dossier2 »
    À noter que la feuille « feuille_avec_macro » ne fait que contenir la macro, rien de plus. L’opération que je souhaite réaliser concerne seulement deux feuilles de deux fichiers Excel différents.

    Voici les détails de l’opération que je tente de construire :
    Sur activation d’un bouton macro présent dans la feuille « feuille_avec_macro » du Fichier « FICHIER_ABC » :
    1- Ouverture du fichier « FICHIER_XYZ » contenant la feuille « fin_xyz »

    2- Rechercher dans la colonne A de la feuille « fin_xyz » le même numéro unique correspondant à celui inscrit dans la cellule A2 de la feuille « origine_abc ».

    a. Si une correspondance est trouvée dans la feuille « fin_xyz » et que la cellule R2 de la feuille « origine_abc » possède la valeur numérique 1, il faut que le contenu des cellules A2 à R2 de la feuille « origine_abc » soit supprimé ainsi que le contenue des cellules présente dans les colonnes A à R sur la même ligne où a été trouvé la correspondance dans la feuille « fin_xyz ».

    b. Si une correspondance est trouvée dans la feuille « fin_xyz », mais que la cellule R2 de la feuille « origine_abc » ne possède PAS la valeur numérique 1, ne rien faire.
    c. Répéter l’étape 2 au complet trois fois de plus, chaque fois en changeant les cellules concernées ([A3, R3, B3 à R3], [A4, R4, B4 à R4] et finalement [A5, R5, B5 à R5]).

    3- Sur la cellule A1 de la feuille « fin_xyz », appliquer un tri croissant. (Il y aura déjà un filtre exempt de critère de filtrage présent sur les cellules A1 jusqu’à R1)

    4- Rechercher dans la colonne A de la feuille « fin_xyz » du fichier « FICHIER_XYZ » le même numéro unique correspondant à celui inscrit dans la cellule A2 de la feuille « origine_abc » du fichier « FICHIER_ABC ».

    a. Si une correspondance est trouvée, il faut que les cellules B2 à R2 de la feuille « origine_abc » viennent remplacer les cellules présente dans les colonnes B à R sur la même ligne où a été trouvé la correspondance dans la feuille « fin_xyz ». Ce remplacement de cellule doit également considérer les cellules vides, car il faut que les cellules vides présentent de B2 à R2 dans la feuille « origine_abc » puisse venir remplacer des cellules pleines de la feuille « fin_xyz ».

    b. Si aucune correspondance n’est trouvée et que la cellule B2 de la feuille « origine_abc » n’est pas vide, il faut inscrire sur la première cellule vide disponible dans la colonne A de la feuille « fin_xyz » le numéro unique séquentiel de la cellule A précédente (donc la dernière cellule A non vide) auquel on addition +1 à la valeur (par exemple, 802+1= 803, non pas 8021). Ensuite, il faut que les cellules B2 à R2 de la feuille « origine_abc » viennent remplacer les cellules présente sur cette nouvelle ligne dans les colonnes B à R de la feuille « fin_xyz ».

    c. Si aucune correspondance n’est trouvée et que la cellule B2 de la feuille « origine_abc » est vide, ne rien faire.

    d. Répéter l’étape 4 au complet trois fois de plus, chaque fois en changeant les cellules concernées ([A3, B3, B3 à R3], [A4, B4, B4 à R4] et finalement [A5, B5, B5 à R5]).

    5- Enregistrer puis fermer le fichier « FICHIER_XYZ » contenant la feuille « fin_xyz ».

    Merci d’avance pour votre aide sur le sujet. N’hésitez pas à me contacter si vous avez besoin de précision.
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2016] Code VBA pour modifier sur plusieurs fichiers
    Par mercikevin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/08/2018, 17h54
  2. Recherche code vba pour MFC
    Par jacfld49 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/04/2014, 06h27
  3. [XL-2010] Code VBA pour fermer un autre fichier sans avoir l'invite de sauvegarde
    Par fta95200 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/02/2014, 21h52
  4. Réponses: 37
    Dernier message: 15/11/2011, 11h41

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