Download - Vba Pour Excel

Transcript
  • VBA - Excel : Lire dans un classeur fermJuin 2014

    Sous VBA, les diffrentes techniques de lecture de donnes dans un fichier Excel ferm sont assez rebutantes par leur complexit. Cependant, il existe unepetite astuce permettant de contourner ceci, sans utiliser de connexion OLE DB, mais uniquement pour la lecture.

    IntroductionLa mthode, par Excel :Le code VBA correspondantPrcautions d'emploiExemple d'utilisationTlchargement

    IntroductionNous avons besoin, dans notre classeur Recap , d'avoir les informations situes dans la plage de cellules A1 :F10 de la feuille Feuil1 d'unclasseur source , lui-mme situ dans le rpertoire C:\Pijaku\Ne_fait_rien_de_ses_journes\CCM\ . Donc pour commencer, ouvrons un classeur,inscrivons Pijaku en Feuil1 de la cellule A1 la cellule F10 et enregistrons le sous source.xls dans le rpertoire :C:\Pijaku\Ne_fait_rien_de_ses_journes\CCM\. Fermons ce classeur. Ouvrons un second classeur Excel et enregistrons le sous Recap.xls dans lebureau (par exemple).

    La mthode, par Excel :Dans votre classeur Recap.xls :

    Insrer un nom dfini :Menu : InsertionChoix : NomCliquer sur : Dfinir

    Noms dans le classeur => saisir : plage Fait rfrence => saisir : ='C:\Pijaku\Ne_fait_rien_de_ses_journes\CCM\[source.xls]Feuil1'!$A$1:$F$10 Cliquersur Ajouter.

    Dans votre classeur, en A1 saisir la formule : =plagepuis valider. Etirer cette formule sur toute la plage de A1 F10...

    Le code VBA correspondantSub ImporterDonneesSansOuvrir() Dim Chemin As String, Fichier As String Chemin = "C:\Pijaku\Ne_fait_rien_de_ses_journes\CCM\" Fichier = "source.xls" ThisWorkbook.Names.Add "plage", _

    Prcautions d'emploiSurtout, vrifiez bien le chemin d'accs au rpertoire, l'orthographe, la casse sont trs important. Aussi vrifier le \ entre le chemin du rpertoire et lenom du classeur.

    Exemple d'utilisationCe code boucle sur tous les classeurs Excel d'un rpertoire et en extrait le contenu de la cellule A1 Feuil1, en l'occurence pour l'exemple, une date.Option Explicit Sub ImporterDates() Dim objShell As Object, objFolder As Object Dim Chemin As String, fichier As String Set objShell = CreateObject("Shell.Application")

    TlchargementVous pouvez tlcharger le classeur source exemple ainsi que le classeur recap utiliss en premire partie de cette astuce. Si toutefois ceux-ci n'taient

  • plus disponibles sur cjoint, merci de me le faire savoir en m'envoyant un MP ici, cliquez sur Lui crire un message Ce document intitul VBA - Excel : Lire dans un classeur ferm issu de CommentCaMarche (www.commentcamarche.net) est mis disposition sous les termes de la licence CreativeCommons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixes par la licence, tant que cette note apparat clairement.


Top Related