Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

beann

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

Ca serait effectivement une très bonne solution mais le code ne fonctionne pas. Pourtant inscrit comme tu me l'as noté.
 

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 +
 

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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…