Copie valeur d'une feuille d'un classeur vers autre classeur Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
D
DRB_Fred
Membre habitué
Membre habitué
Messages : 138
Appréciation reçue : 1
Inscrit le : 8 juillet 2014
Version d'Excel : 2010

Message par DRB_Fred » 29 septembre 2018, 18:18

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
Classeur1.xlsm
(20.37 Kio) Téléchargé 12 fois
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'258
Appréciations reçues : 192
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 29 septembre 2018, 20:06

Bonjour,

Une proposition, voir si ça convient ...



ric
DRB_Fred Classeur1.xlsm
(21.55 Kio) Téléchargé 54 fois
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
D
DRB_Fred
Membre habitué
Membre habitué
Messages : 138
Appréciation reçue : 1
Inscrit le : 8 juillet 2014
Version d'Excel : 2010

Message par DRB_Fred » 29 septembre 2018, 20:13

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
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'258
Appréciations reçues : 192
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 29 septembre 2018, 20:43

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. :P

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



ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
D
DRB_Fred
Membre habitué
Membre habitué
Messages : 138
Appréciation reçue : 1
Inscrit le : 8 juillet 2014
Version d'Excel : 2010

Message par DRB_Fred » 29 septembre 2018, 21:23

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
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'258
Appréciations reçues : 192
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 29 septembre 2018, 22:10

Bonjour,

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


ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'258
Appréciations reçues : 192
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 29 septembre 2018, 22:36

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
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
D
DRB_Fred
Membre habitué
Membre habitué
Messages : 138
Appréciation reçue : 1
Inscrit le : 8 juillet 2014
Version d'Excel : 2010

Message par DRB_Fred » 29 septembre 2018, 22:48

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
Avatar du membre
ric
Membre impliqué
Membre impliqué
Messages : 2'258
Appréciations reçues : 192
Inscrit le : 29 mai 2018
Version d'Excel : 365 fr 32 bits

Message par ric » 29 septembre 2018, 22:55

:bv3:

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

A+


ric
Un bon dépanneur : la touche F8 pour faire un Pas-à-Pas sur le code. :mrgreen:
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message