begin process at 2012 02 17 11:13:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Trucs & Astuces

 > 

Récupérer le contenu de plusieurs feuilles EXCEL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récupérer le contenu de plusieurs feuilles EXCEL

mercredi 23 avril 2008 à 10:28:16 | Récupérer le contenu de plusieurs feuilles EXCEL

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 !

mercredi 23 avril 2008 à 16:21:18 | Re : Récupérer le contenu de plusieurs feuilles EXCEL

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



Cette discussion est classée dans : set, excel, xlapp, sheets, xlbook


Répondre à ce message

Sujets en rapport avec ce message

ouvrir excel avec password [ par Clodius13 ] Bonjour,J'ai besoin d'ouvrir un fichier excel protégé par un password en lecture.j'ai esayé le code suivant mais il ne fonctionne pas. quelqu'un pourr Problème lors d'instructions envoyé a excel [ par KatmandouJah ] Bonjour,   J'ai ecris un module chargée d'ouvrir un classeur Excel existant, de creer un autre classeur et de copier une partie du contenu du classeur Object requis sur suppression de ligne à partir d'une macro access sur une feuile excel [ par alstomman ] Bonjour, je souhaiterai une aide sur mon codage en VBA sur access.Mon but est grace à un bouton commande, ouvrir la feuille d'un fichier XLS et suppri lecture dans fichiers excel [ par lucemm2004 ] bonjour,dans une application VB6, je dois lire une liste de plages contenues dans un millier de fichiers xls contenus dans un répertoire.Pour l'instan Utiliser fichier .Dat dans VB6 [ par Phalls ] Bonjour à tous,Je dois réaliser un petit programme Visual basic permettant de comparer deux données. Une se trouvant dans un fichier.Dat et l'autre da Fermer complètement Excel [ par kkhuet ] Bonjour,j'ai fait le tour de tous les posts trouvés sur la question mais personne ne répond ou ne valide une solution voici mon code :    <font color= XSX [ par joquetino ] Bonjour à tous,J'ai un p'tit souci avec mon programme en VB6. Le but de celui-ci, est de lancer un fichier Excel, dans lequel se trouve des liaisons e excel et VB2005 [ par isokar ] Bonjour a tousje m'éssai sur 2005 depuis quelques jours et j'ai un souci.je souhaite ouvrir un fichier excel pour faire des modifs dedans donc j'ai ch Processus Excel reste actif [ par KatmandouJah ] Bonjour,   J'ai ecris un module sous ACCESS chargée d'ouvrir un classeur Excel existant, de creer un autre classeur et de copier une partie du contenu


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales