Copier des valeurs d'un autre fichier Excel

Bonjour à tous,

J'ai un petit soucis, je souhaite récupérer des données d'un fichier Excel qui n'est pas ouvert. En fait je souhaite copier les données et coller seulement les valeurs dans mon fichier.

Je fais le code ci-dessous mais il me trouve une erreur en me disant que l'indice n'appartient pas à la sélection.

Au niveau de cette ligne de code

Worksheets("DETTE HISTO").Activate

Dim Fichier As Workbook

    Set Fichier = GetObject("Y:\SGDA\FINANCE\DETTES\TABLEAUX DE DETTES\TABLEAU DETTES_DALTYS.xlsm")
    Fichier.Activate
    Worksheets("DETTE HISTO").Activate
    Range("B7:EJ200").Select
    Selection.Copy
    ThisWorkbook.Activate
    Worksheets("DETTE DALTYS HISTO").Activate
    Range("B7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Fichier.Close (True)

Quelqu'un aurait-il une petite idée, s'il vous plaît.

Bonjour,

As-tu essayé de remplacer "DETTE HISTO" par le numéro de la feuille?

Salut,

Essaie de remplacer cette ligne par

ActiveWorkbook.Worksheets("DETTE HISTO").Activate

Cordialement.

Bonjour,

ça ne marche pas même avec le code que tu proposes et même avec sheet 1.

Le problème que j'ai, je pense, c'est que mon GetObject ne fonctionne pas, car j'ai essayé de rouvrir mon fichier Excel dans lequel je veux copier les données, il s'ouvre mais il n'y a plus aucune feuille (il est gris!)

Le fait que ce soit un fichier .xlsm ne pose aucun problème?

Re,

Ta réponse n'est pas très précise, on ne sait pas à qui tu t'adresses.

Sans avoir tes fichiers à disposition, c'est bien difficile de savoir ce qui ne joue pas. Comme tu avais dit que ça bloquait sur une ligne précise, j'ai tenté de trouver une solution sur cette ligne.

Normalement le fait que le fichier soit au format .xlsm ne devrait rien changer.

Alors, tu nous fournis tes fichiers ?

Amicalement.

Bonjour

Bonjour Yvouille

Et avec la méthode plus "classique" (non testé)

Option Explicit

Sub Test()
Dim Fichier As String

  Fichier = "Y:\SGDA\FINANCE\DETTES\TABLEAUX DE DETTES\TABLEAU DETTES_DALTYS.xlsm"

  If Dir(Fichier) = "" Then
    MsgBox "Fichier " & Fichier & " introuvable"
    Exit Sub
  End If

  With Workbooks.Open(Fichier)
    .Sheets("DETTE HISTO").Range("B7:EJ200").Copy ThisWorkbook.Sheets("DETTE DALTYS HISTO").Range("B7")
    .Close savechanges:=False
  End With
End Sub

Re à tous,

Effectivement Banzaille64 avec la méthode classique d'ouverture d'un fichier ça fonctionne. J'ai juste adapté car je veux avec un coller valeur et c'est bon.

Je vous remercie à tous pour votre aide qui m'a été précieuse.

Bonne après-midi.

Rechercher des sujets similaires à "copier valeurs fichier"