begin process at 2008 07 09 05:30:36
1 207 198 membres
44 nouveaux aujourd'hui
14 130 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer le contenu de plusieurs feuilles EXCEL [ Divers / Trucs & Astuces ] (krafft)

Récupérer le contenu de plusieurs feuilles EXCEL le 23/04/2008 10:28:16

krafft

Bonjour tout le monde,

Je vous expose mon problème. J'ai un fichier EXCEL avec plusieurs feuilles remplies de données et j'aimerais récupérer quelques données dans des tables ACCESS afin de les traiter par requêtes dans un outil. J'ai essayé de récupérer les données dans une seule feuille et cela fonctionne parfaitement.

chemin_excel = trouver_dossier_chemin(BasePath()) & "Fichier_temp.xls"
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets.Add
    xlSheet.Name = "Detail"
    xlBook.SaveAs chemin_excel
    xlBook.Close (True)
    xlApp.quit
    Set xlBook = Nothing
    Set xlApp = Nothing
     
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open(Chemin)
        Set xlBook2 = xlApp.Workbooks.Open(chemin_excel)

        xlBook.Sheets("Détail").Cells.AutoFilter
        xlBook.Sheets("Détail").Cells.AutoFilter Field:=16, Criteria1:="="
        xlBook.Sheets("Détail").Cells.AutoFilter Field:=8, Criteria1:="<>"
        xlBook.Sheets("Détail").Cells.Copy
        xlBook2.Sheets("Detail").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        xlBook.Close (False)
        xlBook2.Close (True)
        xlApp.quit
        Set xlBook = Nothing
        Set xlBook2 = Nothing
        Set xlApp = Nothing
       
    DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "Lien_Fichier_Excel", chemin_excel, True, "Detail!"
 
Avec cela, tout fonctionne bien ! Mais je voudrais récupérer des données aussi dans la feuille "Identification" pour mettre dans une nouvelle table donc j'avais pensé mettre 
        xlBook.Sheets("Identification").Cells.AutoFilter
        xlBook.Sheets("Identification").Cells.AutoFilter Field:=2, Criteria1:="OU"
        xlBook.Sheets("Identification").Cells.Copy
        xlBook2.Sheets("Feuil1").Range("A1").PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Et dans la deuxième partie : DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "Lien_Fichier_Excel", chemin_excel, True, "Feuil1!"

Mais j'ai une grosse erreur de mise en forme de mon fichier et même les données de la feuille "Détail" ne sont plus copiées du tout. Par contre, deux tables "Lien_Fichier_Excel" sont créées.

Quelqu'un aurait-il une piste s'il vous plait ?

Merci d'avance !


Re : Récupérer le contenu de plusieurs feuilles EXCEL le 23/04/2008 16:21:18

krafft

C'est bon j'ai trouvé !

Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Open(Chemin)
        Set xlBook2 = xlApp.Workbooks.Open(chemin_excel)

        xlBook.Sheets("Détail").Cells.AutoFilter
        xlBook.Sheets("Détail").Cells.AutoFilter Field:=16, Criteria1:="="
        xlBook.Sheets("Détail").Cells.AutoFilter Field:=8, Criteria1:="<>"
        xlBook.Sheets("Détail").Cells.Copy
        xlBook2.Sheets("Detail").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        xlBook.Sheets("Identification").Range("A3:A58").Copy
        xlBook2.Sheets("Feuil1").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        xlBook.Sheets("Identification").Range("B3:B58").Copy
        xlBook2.Sheets("Feuil1").Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        xlBook.Close (False)
        xlBook2.Close (True)
        xlApp.quit
        Set xlBook = Nothing
        Set xlBook2 = Nothing
        Set xlApp = Nothing



Classé sous : set, excel, xlapp, sheets, xlbook

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS