Accueil > Forum > > > > vbscript : modification d'un fichier excel
vbscript : modification d'un fichier excel
mardi 16 octobre 2007 à 04:21:23 |
vbscript : modification d'un fichier excel

mitsh666
|
Bonjour,
J'ai un fichier excel dont le style est déjà configuré (taille colonnes, taille lignes, font, ...). Pour conserver ces paramètres, je veux l'ouvrir et modifier le contenu. Pour la fermeture, ça peut se faire à la main et peu importe s'il me demande d'enregistrer à la fermeture.
quelqu'un a-t-il une idée ou un bout d'idée?
Merci d'avance
mitsh666
|
|
mardi 16 octobre 2007 à 04:59:16 |
Re : vbscript : modification d'un fichier excel

mitsh666
|
re...
bon ben j'ai trouvé. Par contre, je ne comprend pas pourquoi ça marche. On ouvre l'application, puis on ouvre le fichier (jusque la ok). Mais comment se fait-il que ça ne soit pas objSpread qui doit être utilisé à la place de objExcel dans la 3ème ligne? (objExcel.Cells(1,..... ). C'est pourtant objSpread qui est le fichier excel ouvert!?
si quelqu'un peut m'expliquer le pourquoi du comment?
Set objExcel = CreateObject("Excel.Application")
Set objSpread = objExcel.Workbooks.Open("c:\temp\exceltest.xls")
objExcel.Cells(1, 1).Value = "tst222sts"
objExcel.Quit
|
|
mardi 16 octobre 2007 à 09:26:44 |
Re : vbscript : modification d'un fichier excel

mitsh666
|
rebonjour,
J'aimerai pouvoir ajouter directement le texte ci-dessous sur le fichier excel :
"Title 11" & chr(9) & "Title 2" & chr(9) & "Title 3" & chr(9) & "Title 4" & chr(13) & "Value 1" & chr(9) & "Value 2" & chr(9) & "Value 3" & chr(9) & "Value 4"
chr(9) étant des TAB et chr(13) étant des return. le problème c'est que lors de l'écriture, il indique des carrés blancs à la place.
merci
mitsh666
|
|
mardi 16 octobre 2007 à 12:31:14 |
Re : vbscript : modification d'un fichier excel

JMO
|
 Bonjour, Ci-dessous un exemple simple: Const MonFichierExcel = "D:\SCRIPTS\Fichiers\Exemple.xls"
Dim objExcel, objClasseur Set objExcel = CreateObject("Excel.Application") Set objClasseur = objExcel.Workbooks.Open(MonFichierExcel) objExcel.DisplayAlerts = False 'enlève l'alerte (oui=True, non=False) objExcel.Application.Visible = True 'Cache le classeur (oui=True, non=False)
objExcel.ActiveWorkbook.Sheets("Exemple1").Select 'selection de mon onglet
objExcel.Cells(1, 1).Value = "Title1" objExcel.Cells(1, 2).Value = "Title2" objExcel.Cells(1, 3).Value = "Title3" objExcel.Cells(1, 4).Value = "Title4"
objExcel.Cells(2, 1).Value = "Value1" objExcel.Cells(2, 2).Value = "Value2" objExcel.Cells(2, 3).Value = "Value3" objExcel.Cells(2, 4).Value = "Value4"
objExcel.ActiveWorkbook.SaveAs MonFichierExcel 'sauvegarde le classeur objExcel.ActiveWorkbook.Close 'Fermeture d'Excel objExcel.DisplayAlerts = True 'remet l'alerte oui=True non=False objExcel.Application.Visible=True 'remet la visibilité objExcel.Quit
Set objExcel = Nothing Set objClasseur = NothingPour écrire x cellules, il faut "imbriquer" 2 boucles (1 pour la colonne, 1 pour la ligne). jean-marc
|
|
mardi 16 octobre 2007 à 15:11:13 |
Re : vbscript : modification d'un fichier excel

mitsh666
|
Bonjour Jean-Marc,
Merci pour la réponse... question cependant : Sans les lignes suivantes, cela fonctionne aussi. sont-elles cependant nécessaire pour éviter tout problème à la crosoft?
objExcel.DisplayAlerts = False 'enlève l'alerte (oui=True, non=False) objExcel.Application.Visible = True 'Cache le classeur (oui=True, non=False)
objExcel.ActiveWorkbook.Sheets("Exemple1").Select 'selection de mon onglet
Nouvelles questions : quand j'écris une longue phrase dans une case, j'aimerai qu'elle se prolonge dans les cases vides de sa droite. avec Cell, tout est dans la case. de plus la case prend des dimension importantes pour tout voir. Y a-t-il une façon d'activer ce mode?
De plus, j'aimerai bien utiliser les tab et return (chr(13) et chr(9)) mais je n'arrive pas à le faire accepter par cells. Y a-t-il un moyen d'y parvenir????
mitsh666
|
|
mardi 16 octobre 2007 à 17:40:52 |
Re : vbscript : modification d'un fichier excel

JMO
|
Réponse acceptée !
 Re, Les instructions objExcel.DisplayAlerts=False ' True, False objExcel.ActiveWindow.DisplayGridlines = False ' True, False objExcel.Application.Visible=True ' True, Falsesont conventionnelles et non obligatoires. Mais les modifications en début de script devront être reportées à l'inverse en fin de script. Pour le sheet, s'il y a un seul onglet, inutile de préciser (1) puisqu'implicite. Pour redimensionner les colonnes: 'Mise en forme des colonnes objExcel.Columns("A:B").Select objExcel.Selection.Columns.AutoFit ObjExcel.Range("A1").SelectPour le vbTab, n'étant pas vbaiste, je ne saurais répondre (je plaisante) que par l'utilisation ( déconseillée) de sendkeys. jean-marc
|
|
mercredi 17 octobre 2007 à 09:21:55 |
Re : vbscript : modification d'un fichier excel

mitsh666
|
Bonjour, En fait si je pose la question, c'est que lors de ma première création d'un fichier excel ça marchait bien (cf code ci-dessous). Mais si on écrit comme sur cette soluce, on écrase le contenu du fichier. Dim FSys Dim MonFic
Set FSys = CreateObject("Scripting.FileSystemObject") Set MonFic = FSys.CreateTextFile(FileNameSave) With MonFic 'Pour écrire dans le fichier texte .write "text1" & chr(13) & "Text2" End With
Mais je comprend bien que c'est déconseillé quand ça fonctionne pas tout le temps  . Merci mitsh666
|
|
mercredi 17 octobre 2007 à 12:53:54 |
Re : vbscript : modification d'un fichier excel

JMO
|
 Bonjour à tous, Bonjour mitsh666,Il ne faut pas utiliser la méthode "CreateTextFile" pour créer un .xls Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("d:\testfile.xls", True) MyFile.WriteLine("Ceci est un test.") MyFile.CloseCet exemple crée effectivement le fichier et écrit dans la cellule(1,1). Pour créer un .xls: Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Add() Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Cells(1,1) = "Dataset 1" objWorksheet.Cells(1,2) = "Dataset 2"Après re-re-lecture de ta question: << J'ai un fichier excel dont le style est déjà configuré (taille colonnes, taille lignes, font, ...) jean-marc
|
|
mercredi 17 octobre 2007 à 14:44:23 |
Re : vbscript : modification d'un fichier excel

mitsh666
|
??? Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Add() Set objWorksheet = objWorkbook.Worksheets(1)
objWorksheet.Cells(1,1) = "Dataset 1" objWorksheet.Cells(1,2) = "Dataset 2"
ça crée pas un fichier... ça ouvre excel et ça ouvre une feuille. Mais j'ai compris l'astuce. voici d'ailleurs la fonction pour créer un fichier excel pour ceux qui la désirent :
function fctCreateExcelFile(ByVal FilePath) Dim objExcel, objClasseur, objWorkbook, objWorksheet Set objExcel = CreateObject("Excel.Application") objExcel.DisplayAlerts = False 'enlève l'alerte (oui=True, non=False) 'objExcel.Application.Visible = True 'Cache le classeur (oui=True, non=False) Set objWorkbook = objExcel.Workbooks.Add() Set objWorksheet = objWorkbook.Worksheets(1) objExcel.ActiveWorkbook.SaveAs FilePath 'sauvegarde le classeur objExcel.ActiveWorkbook.Close 'Fermeture d'Excel objExcel.DisplayAlerts = True 'remet l'alerte oui=True non=False 'objExcel.Application.Visible=True 'remet la visibilité objExcel.Quit Set objExcel = Nothing Set objClasseur = Nothing end function
et pour modifier ce qu'il y a dans le fichier excel :
function fctModifyExcelFile(ByVal FilePath) Dim objExcel, objClasseur Set objExcel = CreateObject("Excel.Application") Set objClasseur = objExcel.Workbooks.Open(FilePath) objExcel.DisplayAlerts = False 'enlève l'alerte (oui=True, non=False) 'objExcel.Application.Visible = True 'Cache le classeur (oui=True, non=False) objExcel.ActiveWorkbook.Sheets(1).Select 'selection de mon onglet objExcel.Cells(1, 1).Value = "Title12" objExcel.Cells(1, 2).Value = "Title22" objExcel.Cells(1, 3).Value = "Title32" objExcel.Cells(1, 4).Value = "Title42" objExcel.Cells(2, 1).Value = "Value12" objExcel.Cells(2, 2).Value = "Value22" objExcel.Cells(2, 3).Value = "Value32" objExcel.Cells(2, 4).Value = "Value42" 'objExcel.ActiveWorkbook.SaveAs FilePath 'sauvegarde le classeur objExcel.ActiveWorkbook.Save'sauvegarde le classeur objExcel.ActiveWorkbook.Close 'Fermeture d'Excel objExcel.DisplayAlerts = True 'remet l'alerte oui=True non=False 'objExcel.Application.Visible=True 'remet la visibilité objExcel.Quit Set objExcel = Nothing Set objClasseur = Nothing end function
J'ai préféré éliminer la ligne objExcel.Application.Visible afin de ne pas voir l'ouverture d'excel
Angel
|
|
mercredi 17 octobre 2007 à 14:45:39 |
Re : vbscript : modification d'un fichier excel

mitsh666
|
Merci de l'aide Jean-Marc  mitsh666
|
|
Cette discussion est classée dans : fichier, vbscript, taille, excel, modification
Répondre à ce message
Sujets en rapport avec ce message
vbscript+excel [ par dghaine ]
BonjourJ'ai créer un script en vb qui copie et colle des données d'un fichier excel source vers un fichier excel cible qui génére un graphique, modifi
Message de modification fichier excel [ par avyrex1926 ]
Bonjour à tous,J'ai un fichier excel, que je dois remplire régulièrement en entrant des données.J'ai des onglets avec le nom de tous les mois de l'ann
VBScript : calculer la taille réellement occupée par un fichier [ par d_idaho ]
Bonjour,La propriété Size d'un FileSystemObject correspond à la propriété Taille de la fenêtre Propriétés d'un dossier ou d'un fichier <
VB.NET + Excel + vbscript [ par ghofrane ]
Bonjour,je suis une débutante en VB. NET .je veux savoir si j'ai un fichier Excel comment je peux manipuler à l'intérieur d'un prog VB.NET pour tirer
Fermeture d'un fichier Excel sans modification [ par tom42 ]
Bonjour,J'utilise des feuilles Excel dans VB que je trie suivant des critères différents.Apres avoir ouvert un fichier Excel et récupéré les informati
Taille d'1 Fichier Excel incontrôlée [ par Shaker ]
J'ai dévelloppe une petite appli sous Excel avec vba, et la taille de mon fichier augmente par ex, seulement en l ouvrant et le reenregistrant !! La t
Modification d'un objet Excel sous VB [ par asoka ]
Bonjour,J'ai cherché sur le site la réponse à ma question mais je n'ai pas trouvé.Voilà ce que je veux faire :- j'ai un fichier Excel "Gabari.xls" qui
excel taille fichier trop importante [ par marietotsie ]
j'ai créer un fichier excel avec de nombreux macro, et au fur et à mesure que je modifie mes macro et que je les tests, la taille de mon fichier augme
lien excel en vbscript [ par kobejul08 ]
bonjour,je n'ai jamais fait de vbscript et je dois réaliser un lien vers un fichier excel.Donc d'un software je dois écrire dans un fichier excel qq u
Taille fichier Excel avec userform [ par nico39 ]
Bonjour à tous, j´ai cherché sur le forum mais je n´ai rien trouvé concernant mon problème. En effet, je voudrais savoir dans quelle mesure la présen
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.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 Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System 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
|