Copie valeur d'une feuille d'un classeur vers autre classeur

Salut à tous, j'essaye de copier les valeurs d'une feuille ("Feuil1") d'un classeur ("Classeur 2.xlsm") que je sélectionne par une boîte de dialogue vers un autre classeur ("Classeur 1.xlsm") dans une feuille ("Feuil1") pour l'exemple. Le bouton d'importation étant dans le Classeur 1, c'est comme sa qu'Excel sait où copier les valeurs.

Voici mon code, malheureusement j'ai une erreur, mais je reste bloquée !

Sub SelectFichier()
    Dim QuelFichier
    QuelFichier = Application.GetOpenFilename("Excel, *.xlsm")
    If QuelFichier <> False Then
        Copie (QuelFichier)
    Else
        MsgBox "Vous n'avez pas sélectionné de fichier"
    End If
End Sub

Sub Copie(QuelFichier)
Dim nomUn, NewBook As Workbook
Set nomUn = ThisWorkbook

Set NewBook = Workbooks.Open
NewBook.Activate

Sheets("Feuil1").Range("A1:Q27").Copy

nomUn.Activate
Worksheets("Feuil1").Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Application.CutCopyMode = False

NewBook.Close False

End Sub

Cordialement

30classeur1.xlsm (20.37 Ko)

Bonjour,

Une proposition, voir si ça convient ...

ric

Salut, la fonction copie fonctionne bien, malheureusement j'aurais voulu que l'import des données se fasse dans la feuille "Feuil1" en cellule B2, de la feuille où j'exécute le code.

Cordialement

Bonjour,

Ton code est bien : Worksheets("Feuil1").Range("A1"). .......

Si tu veux B2 ... Worksheets("Feuil1").Range("B2"). ....

C'est toi qui a à apdapter à tes besoins.

Tu peux aussi faire un pas à pas du code ( touche F8 ) pour mieux voir ce qui se passe.

ric

Salut,

En effet, j'ai pas été "fut-fut".

En revanche, ton code me crée systématiquement un nouveau fichier excel, et n'importe pas les données dans la feuille active, où le bouton "IMPORT" se trouve. Comment procédé ?

Comme je l'ai dit plus haut, l'idée c'est d'avoir un fichier, avec le bouton "IMPORTER" qui me permet de choisir un fichier .xlsm, d'importer ses valeurs dans le fichier où le bouton "IMPORTER" ce situe.

Cordialement

Bonjour,

Je vais vérifier à nouveau ... et je reviens.

ric

Bonjour,

Je viens de tester à nouveau et je crois correspondre à tous les critères demandés ...

  • Classeur1.xlsm contenant le bouton d'importation et le code nécessaire.
  • En cliquant sur le bouton, une fenêtre apparaît pour choisir le fichier(2e) dans lequel il faut lire dans la "Feuil1" la plage A1:Q27.
  • Retourner dans le fichier de départ ( Classeur1 ) et coller cette plage dans "Feuil1" en A1 (puis, tu as demandé un changement pour la cellule B2.
  • Le fichier(2e) est ensuite fermé.

J'ai testé cela sur Excel 2016 et aussi sur Excel 2007.

Tout fonctionne à merveille. Je ne comprends que sur ta machine cela te créé un nouveau fichier ... étrange ... je vais devoir en parler à Mulder et Scully.

ric

Bonsoir, milles excuses Ric mais c'est ma faute.

J'ai du télécharger tellement de fois le fichier que j'en est perdue la tête !

En repartant de zéro, tout semble marcher.

Autant pour moi, merci pour ton aide.

Cordialement

Je suis bien heureux que ça fonctionne comme tu voulais.

A+

ric

Rechercher des sujets similaires à "copie valeur feuille classeur"