copier formules dans un fichier fermé

Brad_Wurst

XLDnaute Nouveau
Bonjour à tous,
Je bloque sur une macro, j'espère que l'un ou l'une d'entre vous pourra m'aider:
Mon problème est simple, je souhaite à l'aide d'une macro aller chercher le contenu de cellules contenues dans un autre classeur excel FERMÉ. J'ai écrit le code ci-dessous:
Code:
Sub LitClasseurFermé()
ChampOuCopier = "A1:B5"
Chemin = "C\Mes documents"
Fichier = "mon fichier excel.xls"
onglet = "bdc"
ChampAlire = "A1:B5"
LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
End Sub

Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)
Range(ChampOuCopier).FormulaArray = "='" & Chemin & "\[" & Fichier & "]" & onglet & "'!" & ChampAlire
Range(ChampOuCopier) = Range(ChampOuCopier).Value
End Sub

Cette macro fonctionne bien SAUF qu'elle me copie les valeurs qu'il y a dans les cellules alors que moi j'ai besoin des FORMULES des cellules du fichier fermé.:(

Quelqu'un pourrait-il m'aider?
Merci bien
 

PMO2

XLDnaute Accro
Re : copier formules dans un fichier fermé

Bonjour,

Essayez avec le code ci-dessous

*******************
Sub LitClasseurFerme_pmo()
Dim WB As Workbook
Dim Rsource As Range
Dim Rdest As Range
Dim var
Dim Chemin$
Dim Fichier$
Dim Onglet$
Set Rdest = ActiveSheet.Range("A1:B5")
Chemin = "C:\Mes documents\"
Fichier = "mon fichier excel.xls"
Onglet = "bdc"
Set WB = GetObject(Chemin & Fichier)
Set Rsource = WB.Sheets(Onglet).Range("A1:B5")
var = Rsource.Formula
WB.Close
Set WB = Nothing
Rdest = var
End Sub
*******************

Cordialement.

PMO
Patrick Morange
 

Brad_Wurst

XLDnaute Nouveau
Re : copier formules dans un fichier fermé

Bonjour,

Essayez avec le code ci-dessous

*******************
Sub LitClasseurFerme_pmo()
Dim WB As Workbook
Dim Rsource As Range
Dim Rdest As Range
Dim var
Dim Chemin$
Dim Fichier$
Dim Onglet$
Set Rdest = ActiveSheet.Range("A1:B5")
Chemin = "C:\Mes documents\"
Fichier = "mon fichier excel.xls"
Onglet = "bdc"
Set WB = GetObject(Chemin & Fichier)
Set Rsource = WB.Sheets(Onglet).Range("A1:B5")
var = Rsource.Formula
WB.Close
Set WB = Nothing
Rdest = var
End Sub
*******************

Cordialement.

PMO
Patrick Morange
Merci bien !
ça fonctionne parfaitement.
Juste un détail à modifier pour ceux qui pourraient être intéressés:
Set WB = GetObject(Chemin &"\"& Fichier)
 

Discussions similaires

Réponses
4
Affichages
574

Statistiques des forums

Discussions
312 756
Messages
2 091 756
Membres
105 062
dernier inscrit
Ret78