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 :

Ouvrir un classeur à partir d'un autre [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur réglementation télécoms
    Inscrit en
    Septembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur réglementation télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 22
    Points : 29
    Points
    29
    Par défaut Ouvrir un classeur à partir d'un autre
    Bonsoir à tous,

    J'ai un petit souci. En fait, je vais ouvrir un fichier à partir d'un classeur et qui appartiennet au meme répertoire et ils ont une partie dans leur nom en commun.
    exemple:
    1) nom du mon classeur:REF_LILLE_150214
    2) et le com du fichier à ouvrir a le nom: réferentiel_LILLE_150214

    comment je peux ouvrir le 2 classuer à partir de 1 ??
    est ce que vous pouvez m'aider svp,
    merci,

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonsoir sirine

    'Dans un module

    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
    18
    Public wb1 As Workbook
     
    Sub Ouvrir()
     
    chemin = ActiveWorkbook.Path
     
    If Right(chemin, 1) <> "\" Then chemin = chemin & "\"
     
    nom1 = ActiveWorkbook.Name
     
    nom1 = Mid(nom1, 4) 'Pour supprimer les 3 premiers caracteres
     
    nom2 = chemin & "réferentiel" & nom1
     
    Set wb1 = Workbooks.Open(nom2)
     
     
    End Sub
    Cordialement

    Docmarti.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur réglementation télécoms
    Inscrit en
    Septembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur réglementation télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 22
    Points : 29
    Points
    29
    Par défaut
    Merci pour votre réponse mais ça marche pas, voila je vous donne les noms excate des fichiers:
    le classeur actif: 123445_BPU_LILLE LAMBERT_exxx_150214.xlsm
    le classeur à ouvrir: référentiel_LILLE LAMBERT_exxx_150214.xlsm

    merci d'avance,
    cordialement,

  4. #4
    Membre éclairé Avatar de Nico Chg
    Homme Profil pro
    Apprenti ingénieur Business Development
    Inscrit en
    Juillet 2014
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Apprenti ingénieur Business Development
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2014
    Messages : 352
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Son code marche très bien pour ton exemple, mais si tu ne nous donne pas toutes les infos, ça risque d'être plus compliqué.

    Par exemple, est ce que tous les classeurs que tu voudras ouvrir ont le même format de nom ? ou il peut y avoir des différences ?

    Il existe plusieurs solutions, je te suggère de jeter un oeil sur les Expressions rationnelles

    Une des fonctionnalité des RegExp est de te permetre de chercher un "motif" dans une chaîne de caractère, indépendamment de ce qu'il se trouve avant ou après.

    Le code pour ouvrir un fichier est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Wb as workbook
    Set Wb = Application.workbook.open(Path + filename)
    Le code pour trouver le chemin dans lequelle se trouve le classeur actif est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim sPath as string
    sPath = Thisworkbook.path
    Bonne chance
    Citation Envoyé par Oscar Wilde
    Je déteste les discussions: elles vous font parfois changer d'avis.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur réglementation télécoms
    Inscrit en
    Septembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur réglementation télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2014
    Messages : 22
    Points : 29
    Points
    29
    Par défaut
    Merci NIco pour votre réponse,

    bah le code précédent ça marche mais le bug c'est dans l'ouverture du fichier, toujours une erreur de débogage sur le dernier ligne

    merci pour vous deux,

    Merci pour vous voila le code marche menant le problème est dans l'extension de mon fichier


  6. #6
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Citation Envoyé par sirine_ Voir le message
    Merci pour votre réponse mais ça marche pas, voila je vous donne les noms excate des fichiers:
    le classeur actif: 123445_BPU_LILLE LAMBERT_exxx_150214.xlsm
    le classeur à ouvrir: référentiel_LILLE LAMBERT_exxx_150214.xlsm

    merci d'avance,
    cordialement,
    Il faudrait être plus précis sur l'erreur qui survient.
    Quel est le numéro et le message d'erreur ?
    Cordialement

    Docmarti.

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

Discussions similaires

  1. Ouvrir une application à partir d'une autre
    Par Marc_27 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/07/2009, 09h34
  2. ouvrir une fenêtre à partir d'une autre
    Par zikos dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 20/05/2008, 04h42
  3. Ouvrir un classeur à partir d'un autre classeur
    Par nomade333 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2008, 15h55
  4. ouvrir une base à partir d'une autre base
    Par Pégé45 dans le forum VBA Access
    Réponses: 8
    Dernier message: 10/02/2008, 21h30
  5. Ouvrir une JFrame à partir d'une autre
    Par seyar666 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 09/03/2007, 15h53

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