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 :

Liaisons - recherchev dans classeur fermé


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    maitre d'oeuvre
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : maitre d'oeuvre
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut Liaisons - recherchev dans classeur fermé
    Bonjour a tous,
    je suis désespérément à la recherche d'une solution pour effectuer une recherchev vers un classeur source nommé : "0 Annuaire".
    Ce tableau excel répertorie nombre de contact avec un numéro unique affecté a chacun.

    Auriez-vous une solution pour que la liaison soit active même quand le classeur source "0 Annuaire" est fermé ?
    Je suis preneur, y compris VBA.

    Ci joint 2 fichiers test

    Merci par avance.

    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    en général le procédure consiste à aller ouvrir le fichier fermé / copier les données appropriées / les coller dans le dossier ouvert et puis il ferme le dossier source
    qq chose comme ça à adapter pour tes besoins:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub importdonnées()
    Dim wkA As Workbook, wkB As Workbook
    Dim chemin As String, fichier As String
    Dim j As Long
    Application.ScreenUpdating = False
    Set wkA = ThisWorkbook
    chemin = "Z:\TRAVAUX COMPTABLES BNA\Controle de Gestion\" 'chemain du dossier à ouvrir
    fichier = "RAPPORT JOURNALIER.xlsx" ' nom de fichier à ouvrir
    Workbooks.Open chemin & fichier 
    Set wkB = ActiveWorkbook
     j = wkB.Sheets("Alf3").Range("A" & Rows.Count).End(xlUp).Row
    wkA.Sheets("Feuil1").Range("C1:G" & j).Value = wkB.Sheets("Alf3").Range("D1:H" & j).Value
    wkA.Sheets("Feuil1").Range("A1:B" & j).Value = wkB.Sheets("Alf3").Range("L1:M" & j).Value
     
    wkB.Close True
     Application.ScreenUpdating = True
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    maitre d'oeuvre
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : maitre d'oeuvre
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut
    Bonjour,

    Merci de votre retour rapide,
    j'essaie de copie ce code dans mon document "1 liste". Je dois copier la macro dans ThisWorkbook ou dans la Feuille ?

    J'adpate la macro a mes besoins mais je ne comprend pas quelles sont les éléments suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set wkB = ActiveWorkbook
     j = wkB.Sheets("Alf3").Range("A" & Rows.Count).End(xlUp).Row
    wkA.Sheets("Feuil1").Range("C1:G" & j).Value = wkB.Sheets("Alf3").Range("D1:H" & j).Value
    wkA.Sheets("Feuil1").Range("A1:B" & j).Value = wkB.Sheets("Alf3").Range("L1:M" & j).Value
    Pouvez-vous m'expliquer rapidement a quoi correspond ces indication ?

    Mon classeur liste se presente comme ceci :

    A B C
    1 num unique =recherchev.... =recherchev.....
    2 num unique =recherchev.... =recherchev.....

    C'est le num unique qui fait référence au fichier fermé "0 Annuaire".
    et voila a quoi ressemble ma formule recherche v : "=RECHERCHEV($A18;'W:\z ANNUAIRE ETUDES\Liaison\0 Annuaire.xlsm'!Tab_Ent[#Données];3;FAUX)"

    Merci de votre aide !

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    à copier dans un module liée à un bouton de commande dans "1 liste" et chaque fois tu clic sur ce bouton tu aura la mise à jour des données

  5. #5
    Membre du Club
    Homme Profil pro
    maitre d'oeuvre
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : maitre d'oeuvre
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut
    Super !
    le processus fonctionne mais problème sue les lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     j = wkB.Sheets("Annuaire").Range("A" & Rows.Count).End(xlUp).Row
    wkA.Sheets("Annuaire").Range("A7:R1000" & j).Value = wkB.Sheets("Annuaire").Range("A7:R1000" & j).Value
    wkA.Sheets("Client").Range("A1:B" & j).Value = wkB.Sheets("Client").Range("L1:M" & j).Value

    La ligne est jaune !
    "Annuaire" et "Client" correspondent aux 2 onglets avec les listes associées au numéro unique.
    .Range (A7;R1000" correspond a l'emplitude de mon tableau pour l'onget Annuaire.

    Y a t-il une erreur dans mon code ?
    Merci

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    cette partie de code suppose que tu as ouvert deux onglets dans le classeur list avec les mêmes noms ?? Annuaire et clients ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wkA.Sheets("Annuaire").Range("A7:R1000" & j).Value = wkB.Sheets("Annuaire").Range("A7:R1000" & j).Value
    wkA.Sheets("Client").Range("A1:B" & j).Value = wkB.Sheets("Client").Range("L1:M" & j).Value
    et tu importe les données de l'onglet annuaire du dossier source vers l'onglet annuaire du dossier ouvert
    idem pour l'onglet client

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

Discussions similaires

  1. [XL-2002] ListView et données dans Classeur fermé
    Par vaucluseimmo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/01/2010, 07h59
  2. [XL-2003] RECHERCHEV sur classeur fermé et variable
    Par Remsdu dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/10/2009, 18h29
  3. copier coller dans classeurs fermés
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2009, 23h18
  4. recherchev sur classeur fermé
    Par Eufalacok dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/08/2008, 17h09
  5. [DAO] RECHERCHEV sur classeur fermé et variable
    Par cafeine dans le forum Contribuez
    Réponses: 3
    Dernier message: 28/04/2008, 09h58

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