Importation de données de plusieurs classeurs fermés

beann

XLDnaute Nouveau
Bonjour,

J'ai crée un classeur excel qui centralise des données dans le sens où il récupère les données de plusieurs autres classeurs bâtis de la même manière. Mon souci c'est que pour l'importation des données sur le fichier principal en question, cela demande à ouvrir les autres classeurs le temps de la copie et donc qu'ils soient préalablement fermés. Si le classeur est déjà ouvert, j'ai le message comme quoi une 2e ouverture du fichier peut entrainer la perte de tout élément non sauvegardé, etc., ce dont je ne tiens pas.

Ma question est donc de savoir s'il est possible de récupérer des données sans avoir à ouvrir les fichiers?

Si ca peut aider à comprendre, mon code actuel:

Code:
Private Sub CommandButton2_Click()
Dim wbk As Workbook, awbk As Workbook
Dim wsh As Worksheet
Dim Fich As String
Dim Ligne As Double
 
Application.ScreenUpdating = False
Set awbk = ThisWorkbook
Set wsh = awbk.Sheets("Donnees regroupees")
 
Fich = Dir("C:\Users\M\Documents\*.xls")

Do While Fich <> ""
    With wsh
        Ligne = .Range("A65536").End(xlUp).Row + 1
        Set wbk = Workbooks.Open("C:\Users\M\Documents\Fla\" & Fich)
        wbk.Sheets("Decompte temps").Range("listeplagesource").Copy.Cells(Ligne, 1)
    
    End With
    wbk.Close False
    Fich = Dir
    Set wbk = Nothing
Loop
Set wsh = Nothing
Set awbk = Nothing
Application.ScreenUpdating = True
End Sub
 

JNP

XLDnaute Barbatruc
Re : Importation de données de plusieurs classeurs fermés

Bonjour Bean :),
Et si tu ouvrais le fichier en lecture seule ?
Code:
Set wbk = Workbooks.Open("C:\Users\M\Documents\Fla\" & Fich, ReadOnly:=True)
Bonne journée :cool:
 

JNP

XLDnaute Barbatruc
Re : Importation de données de plusieurs classeurs fermés

Re :),
Etrange, peut-être une question de version. Essaie de passer par l'enregistrement de macro pour voir le code proposé lors d'une ouverture en lecture seule.
A + :cool:
 

JNP

XLDnaute Barbatruc
Re : Importation de données de plusieurs classeurs fermés

Re :),
Alors que ça fonctionne sous 2007, vu que c'est là que je l'ai obtenu :rolleyes:.
Fait une recherche dans l'aide de VBA sur workbooks.open, vu qu'il y a plusieurs critères avant la lecture seule, peut-être faut-il mettre des virgules pour les éléments facultatifs précédent, où préciser le chemin...
Code:
Workbooks.Open("C:\Users\M\Documents\Fla\" & Fich, [COLOR=red][B], ,[/B][/COLOR] ReadOnly:=True)
Code:
Workbooks.Open [COLOR=red][B]FileName:=[/B][/COLOR]"Array.xls", ReadOnly:=True
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 487
Messages
2 088 823
Membres
103 971
dernier inscrit
abdazee