Accueil > > > IMPORTER ET EXPORTER AVEC EXCEL
IMPORTER ET EXPORTER AVEC EXCEL
Information sur la source
Description
Ce code permet d'extraire des données depuis les cellules d'un fichier excel ou d'y envoyer des données depuis une applilcation VB, tout ceci sans avoir à ouvrir le fichier "manuellement" (contrairement à la méthode linktopic). Vous y trouverez également quelques commandes intéressantes pour la manipulation de fichiers excel. 11/04/05: mise à jour le code que j'avais posté à l'origine était une bidouille que j'avais concocté pour les besoins d'un stage. Ca m'avait bien dépanné mais j'avoue que c'était loin d'être stable. Après plusieurs demandes (parfois sans réponse de ma part, je l'avoue) je me suis enfin décidé à mettre ça à jour. Voilà donc la nouvelle mouture, en espérant que cela vous aide. Le principe est simple: on crée une variable objet dans laquelle on affecte un fichier Excel, et après il ne reste plus qu'à la modifier au besoin. Pour cela il faut d'abord ajouter dans les références (Projet --> Références) "Microsoft Excel 10.0 Object Library"
Source
- Dim xls As Excel.Workbook ' déclaration d'une variable objet de type classeur Excel
- Dim var As ce_que_vous_voulez
-
- Set xls = GetObject("monfichier.xls") 'instanciation de l'objet (qui devient ici le fichier excel indiqué)
-
- ' export de données
- With xls
- .worksheets(1).range("B6").Value = "1"
- .worksheets(1).range("B18").Value = "2"
- .worksheets(1).range("A18").Value = "3"
- End With
-
- ' worksheets(1) correspond à la feuille 1 du fichier Excel
- ' pour spécifier le nom d'une feuille mettre à la place sheets("nom de la feuille")
-
- ' import de données
- var = xls.worksheets(1).range("C2").Value
-
- ' etc etc...
- ' après à vous d'adapter le code en fonction de vos besoin
-
- ' une fois que vous avez fini d'utiliser la variable xls, pensez à la détruire
- Set xls = Nothing
-
- ' PS: le code ci-dessus utilise un fichier Excel déjà existant.
- ' Pour créer un fichier Excel à partir d'une appli VB voici la manip:
-
- Dim xls as Excel.Application
- Set xls = CreateObject("Excel.Application") ' création d'une nouvelle instance vierge de l'application Excel
-
- ' après paramètrez le fichier comme bon vous semble.
- ' Voici quelques exemples
- xls.WindowState = xlMaximized ' format plein écran
- xls.Visible = True ' visible à l'écran
- xls.ShowWindowsInTaskbar = True ' visible dans la barre de tâches
- xls.DisplayFormulaBar = True ' affichage de la barre de formule
- xls.Caption = "Mon fichier Excel"
- xls.Workbooks.Add ' ajout d'un classeur Excel sinon vous aurez une instance d'Excel mais pas de classeur
- xls.Worksheets(1).Name = "Feuille1"
- xls.Worksheets(2).Name = "Feuille2"
- xls.Worksheets(1).Range("D1").Font.Bold = True ' la cellule D1 est en gras
- xls.Worksheets(1).Columns("A:A").EntireColumn.AutoFit 'ajustement automatique de la colonne A
- xls.Worksheets(1).PrintOut Copies:=1 ' imprimer 1 copie de la feuille 1
-
- ' je vais pas tous les faire parce que les possibilitées sont énormes.
- ' une bonne astuce pour voir les commandes correspondant à ce que vous
- ' souhaitez faire est de créer un fichier Excel, de lancer l'enregistrement d'une macro,
- ' d'exécuter les opérations voulues (changement police, ajustement colonne etc),
- ' d'arrêter l'enregistrement de la macro et d'aller voir le code qui a été créé. Perso c'est
- ' comme ça que j'ai procédé.
Dim xls As Excel.Workbook ' déclaration d'une variable objet de type classeur Excel
Dim var As ce_que_vous_voulez
Set xls = GetObject("monfichier.xls") 'instanciation de l'objet (qui devient ici le fichier excel indiqué)
' export de données
With xls
.worksheets(1).range("B6").Value = "1"
.worksheets(1).range("B18").Value = "2"
.worksheets(1).range("A18").Value = "3"
End With
' worksheets(1) correspond à la feuille 1 du fichier Excel
' pour spécifier le nom d'une feuille mettre à la place sheets("nom de la feuille")
' import de données
var = xls.worksheets(1).range("C2").Value
' etc etc...
' après à vous d'adapter le code en fonction de vos besoin
' une fois que vous avez fini d'utiliser la variable xls, pensez à la détruire
Set xls = Nothing
' PS: le code ci-dessus utilise un fichier Excel déjà existant.
' Pour créer un fichier Excel à partir d'une appli VB voici la manip:
Dim xls as Excel.Application
Set xls = CreateObject("Excel.Application") ' création d'une nouvelle instance vierge de l'application Excel
' après paramètrez le fichier comme bon vous semble.
' Voici quelques exemples
xls.WindowState = xlMaximized ' format plein écran
xls.Visible = True ' visible à l'écran
xls.ShowWindowsInTaskbar = True ' visible dans la barre de tâches
xls.DisplayFormulaBar = True ' affichage de la barre de formule
xls.Caption = "Mon fichier Excel"
xls.Workbooks.Add ' ajout d'un classeur Excel sinon vous aurez une instance d'Excel mais pas de classeur
xls.Worksheets(1).Name = "Feuille1"
xls.Worksheets(2).Name = "Feuille2"
xls.Worksheets(1).Range("D1").Font.Bold = True ' la cellule D1 est en gras
xls.Worksheets(1).Columns("A:A").EntireColumn.AutoFit 'ajustement automatique de la colonne A
xls.Worksheets(1).PrintOut Copies:=1 ' imprimer 1 copie de la feuille 1
' je vais pas tous les faire parce que les possibilitées sont énormes.
' une bonne astuce pour voir les commandes correspondant à ce que vous
' souhaitez faire est de créer un fichier Excel, de lancer l'enregistrement d'une macro,
' d'exécuter les opérations voulues (changement police, ajustement colonne etc),
' d'arrêter l'enregistrement de la macro et d'aller voir le code qui a été créé. Perso c'est
' comme ça que j'ai procédé.
Conclusion
' PS: je précise que j'ai arrêté de programmer depuis pratiquement 2 ans donc il se ' peut que je laisse traîner des erreurs à droite à gauche, désolé si c'est le cas. Après ' c'est à vous de vous inspirer de ce code (ou pas d'ailleurs), de fouiner sur le net et ' surtout utilisez la librairie MSDN, elle m'a sauvé la mise plus d'une fois.
' Bon courage et bonne prog
Historique
- 11 avril 2005 09:27:48 :
- Pour cette mise à jour j'ai changé complètement le code pour obtenir quelque chose de beaucoup plus propre et stable.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Importer, exporter des macros excel [ par steph05 ]
Bonjour à tous,voilà mon problème : en fait je dispose d'un classeur excel "a" contenant des données et auquel sont associées un certain nombre de mac
importer le fichier excel et l'exporter dans la base des données sql server 2000 en utilisant le code vb6.0 [ par munemmy ]
Bonjour à tous, J'aimerais demander s'il y a quelqu'un qui peut aider à me dire comment importer un fichier excel par le visual basic 6.0 et l'exporte
Exporter des données dans Excel tt les X minutes [ par Fabian26 ]
Voila je dois exporter des données vers Excel tt les x minutes, seulement la donnée qu'il envoie est tjs la meme alors que entre chaque minute elle va
importer un tableau excel dans un même fichier vba [ par gabao ]
bonjour à tous!!alors je vous explique mon problème: j'ai créé un tableau sous excel que j'aimerais recuperer sous excel vba...le problème est que je
Exporter une feuille VB6.0 sous Excel [ par jeanmardelbv ]
Bonjour à tous, Je suis désolé de vous déranger pour cette question mais j'ai cherché partout sans succès. J'ai un formulaire sous VB.6.0 L'objecti
exporter un msflexgrille vers excel et word [ par Consty25 ]
je demande le code pour exporter un msflexgrille vers excel et word.
Exporter tableau vb sous excel [ par Fabian26 ]
Slt, Si j'ai un tableau :tab(i) comment puis-je exporter chacune des ligne de mon tableau dans un fichier excel en mettant chaque valeur automatiquem
Comment importer plusieurs .csv dans le meme classeur Excel [ par Panodrek ]
Voilà, donc comme le dit le titre, j'ai 2 documents en .csv, que je desire importer dans le meme classeur, un en feuille 1, l'autre en feuille 2, à pa
Importer 2 fichiers texte dans le même classeur Excel et dans 2 feuilles séparées [ par mahevallia ]
Bonjour, J'ai plusieurs fichiers texte dans des dossiers séparés, je souhaite automatiser un import vers Excel. Par exemple, j'ai un dossier qui compo
|
Derniers Blogs
MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril SHAREPOINT 15 TECHNICAL PREVIEW MANAGED OBJECT MODEL SOFTWARE DEVELOPMENT KITSHAREPOINT 15 TECHNICAL PREVIEW MANAGED OBJECT MODEL SOFTWARE DEVELOPMENT KIT par Matthew
http://www.microsoft.com/download/en/details.aspx?id=28768&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+MicrosoftDownloadCenter+(Microsoft+Download+Center) ...
Cliquez pour lire la suite de l'article par Matthew
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|