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 classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Par défaut Ouvrir un classeur à partir d'un autre classeur
    Bonsoir,
    J'ai un classeur avec un bouton auquel est affecté une macro (code ci dessous
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub workbook_open()
    Application.ScreenUpdating = False
       ' Désinstalle les macro complementaires
    AddIns("Solveur").Installed = False
    AddIns("Utilitaire d'analyse").Installed = False
    AddIns("Utilitaire d'analyse - VBA").Installed = False
     
    Dim i As Long
    Dim caract As String * 1
    Dim filebox As OPENFILENAME
    Dim fname As String
    Dim result As Long
    'Range("D5") = ""
    With filebox
            .lStructSize = Len(filebox)
            .hInstance = 0
            .lpstrFilter = "Data module" & vbNullChar & "*.xls" & vbNullChar & _
                           "Tout fichier (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar
            .nMaxCustomFilter = 0
            .nFilterIndex = 1
            .lpstrFile = Space(256) & vbNullChar
            .nMaxFile = Len(.lpstrFile)
            .lpstrFileTitle = Space(256) & vbNullChar
            .nMaxFileTitle = Len(.lpstrFileTitle)
            .lpstrInitialDir = "C:\pubm88\utils" & vbNullChar
            .lpstrTitle = "Selectionner le fichier à visualiser" & vbNullChar
            .flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
            .nFileOffset = 0
            .nFileExtension = 0
            .lCustData = 0
            .lpfnHook = 0
    End With
    result = GetOpenFileName(filebox)
    lorsque je clique sur le bouton la fenetre choix du fichier s'ouvre, je selectionne mon fichier (Excel), je clique sur ouvrir, mais celui-ci ne s'ouvre pas.
    Ce que je voudrais en fait c'est de copier les données d'une feuille d'un classeur A, dans une feuille d'un classeur B.
    Quelqu'un pourrait il m'aider à partir du code ci dessus.
    Merci par avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    tien, ça sera peut-etre plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub ouvrir_un_fichier()
    Filename = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls), *.xls", Title:="Selectionnez un fichier")
        If Filename = True Then
            Workbooks.Open (Filename)
            End If
    End Sub
    ps : Sub workbook_open() ne signifie pas macro qui ouvre un fichier mais macro qui s'execute a l'ouverture du fichier

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 232
    Par défaut
    Bonjour et merci
    Effectivement c'est plus simple que mon usine à gaz, j'ai testé, mais le fichier Excel choisi ne s'ouvre pas, du moins il ne s'affiche pas.
    Comment faire copier les données d'une feuille Excel d'un classeur vers une feuille d'un autre classeur
    merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    oups
    j'avais un peu trop simplifié le code initial peut etre, je te le donne en integral, merci a l'auteur, ce n'est pas moi, meme si je ne me rappelle plus ou je l'ai eu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub getopenfilname()
    Filename = Application.GetOpenFilename(FileFilter:="Excel Files (*.xls), *.xls", Title:="Selectionnez un fichier")
        If Filename = False Then
              MsgBox "pas de fichier selectionné"
            Exit Sub
        Else
            Workbooks.Open (Filename)
            End If
    End Sub

Discussions similaires

  1. [XL-2010] Ouvrir un classeur à partir d'un autre
    Par sirine_ dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/10/2014, 16h48
  2. Créer un UserForm dynamique dans un classeur à partir d'un autre
    Par Mariquiqui dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/11/2010, 18h11
  3. [XL-2007] Créer du code dans le classeur A à partir d'un autre classeur B
    Par geo909 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2009, 17h36
  4. [VBA-E]Fermer un classeur en réseau à partir d'un autre classeur
    Par Pietro_L dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/05/2007, 10h08
  5. controler checkBox à partir d'un autre classeur
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/07/2006, 09h26

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