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 Workbooks.Open pour EXCEL 2021 [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut VBA Workbooks.Open pour EXCEL 2021
    Bonjour,

    Il s'agit de ma première demande d'aide et je suis quelque peu novice. LOL

    J'utilise ce bout de code pour ouvrir mon fichier depuis mon fichier "DEPART.xlsm" :

    Sub Ouvrir_Recapitulatif()

    Workbooks.Open [A66] ' Dans A66 se trouve le chemin du fichier "C:\FACTURIER\MODELES\RECAPITULATIF.xlsm"

    End Sub


    A présent, toujours à partir du fichier "DEPART.xlsm", je souhaiterai ouvrir ce même fichier mais le chemin se trouve à présent dans le fichier "DONNEES.xlsm", Feuille "CHEMIN", cellule "C18".
    Le fichier DONNEES.xlsm se trouve dans le répertoire suivant : "C:\FACTURIER\DONNEES.xlsm"

    Je précise que le fichier DONNEES est en permanence ouvert.

    D'avance merci pour votre contribution.
    Cordialement

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    Salut,
    Il suffit de référencer la cellule qui contiens la valeur désirée.

    En développement, on ne veut rien laisser au Hazard, ne pas laisser le système décider à notre place, ni être dépendant du contexte.
    Pour cela, on va être le plus explicite possible.

    Par exemple, si je veut récupérer la valeur de la cellule F8 dans la feuille Comptabilité (le nom est arbitraire), je peux écrire quelque chose comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim Classeur As Excel.Workbook
    Set Classeur = ThisWorkbook
     
    Dim Feuille As Excel.Worksheet
    Set Feuille = Classeur.Worksheets("Comptabilité")
     
    Dim Cellule As Excel.Range
    Set Cellule = Feuille.Range("F8")
     
    Dim Valeur As String
    Set Valeur = Cellule.Value
    Je précise que le fichier DONNEES est en permanence ouvert.
    Qu'est ce qui offre cette garantie ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut
    Salut deedolith,

    D'abord merci pour la précision de ta réponse.
    Je tente de percevoir ta démarche et si je la comprends bien et en la rapprochant à mon cas de figure, je me trouve dans le fichier DEPART.xlsm (ThisWorkbook), Classeur.Worksheets("Feuil1") pour moi et Feuille.Range("A66"). Cela je l'ai compris mais ce que je cherche c'est d'aller chercher la valeur en C18, dans la feuille "CHEMIN" du fichier "DONNEES.

    Alors quelle syntaxe utiliser pour remplacer "ThisWorkbook" par le chemin du fichier DONNES = "C:\FACTURIER\DONNEES.xlsm"
    Il en découle Classeur.Worksheets("CHEMIN") et Feuille.Range("C18")

    Concernant l'ouverture du fichier DONNEES, celui est ouvert en même temps que le fichier DEPART et bascule dans la barre des tâches de Windows.

    Cordialement.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    L'instruction WOrkbook.Open(), en cas de succès, retourne une référence vers le classeur ouvert.
    Fais-en bon usage.

    Concernant l'ouverture du fichier DONNEES, celui est ouvert en même temps que le fichier DEPART et bascule dans la barre des tâches de Windows.
    Manuellement ou mode programmé ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut
    C'est pas gagné mais je vais creuser du côté de WorkBook.Open.
    L'ouverture est automatique.
    J'ai trouvé cette solution

    Workbooks("DONNEES.xlsm").Activate
    Workbooks.Open Filename:=Worksheets("CHEMIN").Range("C15")

    Merci pour l'indication

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    Oui, mais tu ne récupère pas la référence:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Wb As Excel.Workbook
    Set Wb = Workbooks.Open(Filename:=Worksheets("CHEMIN").Range("C15"))
    Note: Un bon code VBA n'a quasiment jamais besoin d'activer ni de sélectionner quoi que ce soit.
    C'est lent, et ça fait ressembler ton classeur pour un sapin de Noël.

  7. #7
    Membre à l'essai
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 4
    Par défaut
    Ok merci pour tes conseils et ta patience.
    Bonne soirée

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

Discussions similaires

  1. [VBA] Boucler sur la méthode Workbooks.Open plante Excel
    Par juliusmarat dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/09/2014, 17h39
  2. [XL-2003] Pb vba Workbooks.Open
    Par Jean-Phi63sgc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/04/2011, 16h51
  3. [VBA-P] vba dans powerpoint pour excel
    Par smarties38 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/02/2007, 16h19
  4. [Livre] Débuts sur VBA 6.3 pour EXCEL 2002
    Par thulvar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2005, 10h45

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