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 sur 2 fichiers sur code combiné


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Par défaut Recherche sur 2 fichiers sur code combiné
    La colonne 2 du fichier Source possède le code référence
    La colonne 3 du fichier Target possède le code combiné par la formule :
    "TAR"+ code de référence


    L'extrait suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    With Workbooks(Source).Worksheets(OngletS)
     
        For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
         Set rngC = Columns(2).Find(.Cells(i, 3), , , xlWhole)
    permet de faire la recherche mais seulement pour les codes de mêmes caractéristiques.

    à ne pas confondre avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set rngC = Columns(2).Find(."TAR"+Cells(i, 3), , , xlWhole)

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Quelle est la question ?

  3. #3
    Membre confirmé
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Par défaut
    Soit un fichier Source l'index étant sur CODE
    Soit un fichier Target l'index étant sur un texte composant le code soit: "TAR"+CODE

    Un Index est une clé.

    Je veux rechercher la ligne dans Source dont CODE = à la ligne de Target avec "TAR" + CODE

    A savoir, la macro est écrite dans Target car on effectue une mise à jour depuis le fichier Source.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Je ne suis pas certain de bien comprendre, mais si c'est cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rngC = Columns(2).Find(."TAR"+Cells(i, 3), , , xlWhole)
    qui te cause problème, peut-être pourrais-tu essayer ainsi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rngC = Columns(2).Find("TAR" & .Cells(i, 3), , , xlWhole)

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ligne = .Columns(2).Find(Mid(.Cells(i, 3), 4, 9 ^ 9), , , xlWhole).Row
    Je ne suis pas sûr qu'il faille un point devant "Cells".

  6. #6
    Membre confirmé
    Homme Profil pro
    NC
    Inscrit en
    Janvier 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NC
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 61
    Par défaut
    Tout dépend de quel programme est lancé la macro.

    Dans mon cas, je souhaite lancer la macro depuis TARGET.

    C'est là que se complique les choses, car dans TARGET l'index est composé de "TAR" + Code.

    A savoir que la ligne que je présentais au début n'a aucune erreur de programmation. Elle conviendrait pour une macro située dans la SOURCE.

    Si je me suis fait comprendre.

    Exemple:
    Fichier SOURCE
    Code Désignation
    A          AA
    B          BB
    Fichier TARGET
    Code  Désignation
    TARA     AA
    TARB     BB
    Je souhaite mettre à jour TARGET depuis les données de SOURCE, la macro étant dans TARGET.

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    C'est pour cela que tu dois utiliser "Mid(Cells(i, 3), 4, 9 ^ 9)" qui élimine les 3 premiers caractères.

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

Discussions similaires

  1. [XL-2007] Rechercher dans un fichier sur un réseau
    Par PedroBD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/11/2011, 20h13
  2. Réponses: 1
    Dernier message: 22/09/2011, 14h51
  3. Réponses: 10
    Dernier message: 18/01/2010, 18h51
  4. recherche d'un fichier sur un serveur
    Par danpsaume dans le forum C#
    Réponses: 1
    Dernier message: 19/06/2008, 22h41
  5. recherche d'un fichier sur le disque dur
    Par skillipo dans le forum Développement Web en Java
    Réponses: 5
    Dernier message: 14/01/2008, 20h03

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