Importer feuille excel d'un classeur à cibler

Bonjour à tous et merci pour les nombreuses réponses aux autres questions du forum qui m'ont permis d'utiliser excel comme j'en avais besoin jusqu'à présent.

Je souhaite créer une macro dans un classeur 1 qui me permettrait en cliquant sur un bouton, d'ouvrir une boite de dialogue pour sélectionner un autre fichier excel (classeur 2).
Cette sélection aurait pour but d'importer depuis le classeur 2 toute les données d'une feuille qui s'appellera toujours "note" par exemple, et d'intégrer ce contenu dans une feuille aussi appelé "note" dans le classeur 1.

Je ne souhaite pas faire de lien direct entre les classeurs.

L'exemple concret serait:
Dans un répertoire de mon ordi j'ai un dossier "Classes" comportant deux sous dossiers, classe A et classe B.
Chaque sous dossier contient un classeur excel de toutes les informations que je rentre sur la classe A par exemple, et un autres classeur excel d'éditeur de bulletins de note.

Avec la macro que je souhaite créer je voudrais avoir un classeur excel modèle d'éditeur de bulletins de note qui récupèrerait sur demande le contenu de la feuille "note" du classeur général de la classe A ou B .... ou X.
Ce modèle d'éditeur de bulletin de notes aura des formules qui prendront en références des cellules de sa propre feuille nommé aussi "note" pour remplir chaque bulletin en fonction du contenu importé.

Désolé pour ce message un peu long et aussi si la question a déjà été posé.
Merci si vous avez des suggestion à mon problème.

2 réponses

  1. Modérateur
    Salut,
    Petites précisions complémentaires :
    d'importer depuis le classeur 2 toute les données d'une feuille
    La plage des donénes est fixe? toujours la même? laquelle?
    0
    1. Dans cette feuille le nombre de colonne est fixe par contre le nombre de ligne dépend du nombre d'élèves par exemple.
      0
      1. Modérateur
        Alors :
        1- Combien de colonnes et à partir de laquelle? (exemple 6 colonnes de A à F)
        2- Qu'elle colonne est la plus longue?
        0
      2. Il y a 10 colonnes de A à J
        La colonne A et la colonne F ont une largeur de 10
        Les colonnes B, C, D, E font 7.29 de largeur
        Les colonnes G,H,I et J font 7 de largeur

        La première ligne est composé de deux cellules fusionnées prenant respectivement les cellules A,B,C,D,E et les cellules F,G,H,I,J
        Les lignes deux et trois sont composées de cellules fusionnés pour formé un titre de chaque colonne: A2 fusionné avec A3; B2 fusionné avec B3 ...... J2 fusionné avec J3

        A partir de la ligne 4 commence les valeurs du tableau.
        Sachant qu'en colonne A sont listé les nom d'élèves que j'utiliserais pour le classeur "d'éditeur de bulletin" pour effectuer des recherches et accéder aux 9 autres colonnes de valeurs numériques. ( B:J)
        0
      3. Modérateur
        Bon essaye déjà ça et reviens nous dire ce qui ne convient pas :
        Le classeur exemple
        Le code :
        Option Explicit
        
        Sub ImporterNotes()
        Dim NomFic
        Dim Wrk As Workbook
        Dim DrLig As Long
        
        Set Wrk = ActiveWorkbook
        'Suppression des données contenues dans le classeur "macro"
        With Wrk.Sheets("note")
            DrLig = .Range("A" & Rows.Count).End(xlUp).Row
            .Range("A4:J" & DrLig).Clear
        End With
        'ouverture du classeur "source"
        NomFic = Application.GetOpenFilename
        'en cas d'annulation évite le plantage
        If NomFic = False Then Exit Sub
        Application.ScreenUpdating = False
        Workbooks.Open NomFic
        'copier/coller les données
        With Sheets("note")
            DrLig = .Range("A" & Rows.Count).End(xlUp).Row
            .Range("A4:J" & DrLig).Copy Wrk.Sheets("note").Range("A4")
        End With
        'fermeture du classeur "source"
        ActiveWorkbook.Close
        Application.ScreenUpdating = True
        End Sub
        0