Copie cellule d'un classeur vers autre classeur [VBA]

AreYouBush

XLDnaute Junior
Bonsoir le forum,

J'ai fais le tour du web mais j'ai pas trouvé chaussure à mon pied, donc je vais poser la question à des gens compétents.

Tout les matins j'ai un fichier Excel (créer par un logiciel du nom de SAP) avec un nom différent(que je ne dois pas modifier). J'aimerais pouvoir coller dans ce fichier en cellule B2, des cellules d’un autre fichier excel qui lui a toujours le même nom = Tables.xls.
la plage de cellule à copier est E3:H9.

Merci.

Je suis sure que je ne suis pas assez clair :)
 

Pierrot93

XLDnaute Barbatruc
Re : Copie cellule d'un classeur vers autre classeur [VBA]

Bonjour,

essaye ceci,

Code:
Workbooks("Table.xls").Sheets("NomFeuille").Range("E3:H9").Copy _
    Destination:=ActiveWorkbook.ActiveSheet.Range("B2")

en supposant que le classeur et la feuille vers lesquels tu veux copier les données soient actifs...

bonne journée
@+
 

AreYouBush

XLDnaute Junior
Re : Copie cellule d'un classeur vers autre classeur [VBA]

Ca a fonctionné la première fois ( le classeur Tables était ouvert à ce moment).

J'ai tout fermé pour re-testé et là BUG ( erreur d'exécution "9").

Je pense qu'il ne trouve pas le fichier TABLES.

Merci.
 
Dernière édition:

AreYouBush

XLDnaute Junior
Re : Copie cellule d'un classeur vers autre classeur [VBA]

Donc j'ai de nouveau refermé. J'ai ouvert le fichier Tables et ensuite mon autre fichier, exécuté la macro et là ça fonctionne.

Existe t'il une solution, sans devoir ouvrir le fichier Tables?
 

Pierrot93

XLDnaute Barbatruc
Re : Copie cellule d'un classeur vers autre classeur [VBA]

Bonjour,

le code proposé nécessite que les 2 classeurs soient ouverts... si classeur fermé, fais une recherche sur ADO, plus délicat à coder.... tu trouveras des exemples dans la FAQ, les pages de MichelXLD...
 

AreYouBush

XLDnaute Junior
Re : Copie cellule d'un classeur vers autre classeur [VBA]

J'ai récupéré ce code qui à l'air de correspondre à ma demande:

Code:
Option Explicit

Sub ImporterDepuisPlusieursClasseurs()
Dim Cell As Range
Dim Y As Byte

For Each Cell In Range("A1:A4")
    For Y = 2 To 5
    With ActiveSheet.Cells(Cell.Row, Y)
    .FormulaArray = "='" & ThisWorkbook.Path & "\[" & Cell & "]" & "Feuil1" & "'!" & Cells(1, Y - 1).Address(0, 0)
    .Value = .Value
    End With
    Next Y
Next Cell

End Sub

Mon fichier n'étant pas dans le même répertoire j'ai changé le ThisWorkbook.Path par "D:\Année 2011\40 - SPA\- 2011 -" comme prescrit sur WIKI 6 de MichelXld.

Mais je me retrouve avec une erreur d'exécution '104' Impossible de définir la propriété FormulaArray de la classe Range.

Que dois-je faire?

Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 310
Messages
2 087 113
Membres
103 474
dernier inscrit
taha1995