Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel (je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel (je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel (je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Peut être ça ?
Set oXL = WScript.CreateObject("EXCEL.application")
With oXL
.Workbooks.Open "F:toto.xls"
.ActiveWorkbook.SaveAs "F:toto.txt" , 20
.DisplayAlerts = False
.Quit
End With
Set oXL = Nothing
MsgBox "F:toto.txt sauvegardé"
Peut être ça ?
Set oXL = WScript.CreateObject("EXCEL.application")
With oXL
.Workbooks.Open "F:toto.xls"
.ActiveWorkbook.SaveAs "F:toto.txt" , 20
.DisplayAlerts = False
.Quit
End With
Set oXL = Nothing
MsgBox "F:toto.txt sauvegardé"
Peut être ça ?
Set oXL = WScript.CreateObject("EXCEL.application")
With oXL
.Workbooks.Open "F:toto.xls"
.ActiveWorkbook.SaveAs "F:toto.txt" , 20
.DisplayAlerts = False
.Quit
End With
Set oXL = Nothing
MsgBox "F:toto.txt sauvegardé"
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
Je t'ai fait suivre par mail un script VBS qui modifie tous les fichiers
Excel de plusieurs sous répertoires. Pour commencer j'ai commencé par
faire une macro sous excel puis adapter en vbscript.
Je t'ai fait suivre par mail un script VBS qui modifie tous les fichiers
Excel de plusieurs sous répertoires. Pour commencer j'ai commencé par
faire une macro sous excel puis adapter en vbscript.
Je t'ai fait suivre par mail un script VBS qui modifie tous les fichiers
Excel de plusieurs sous répertoires. Pour commencer j'ai commencé par
faire une macro sous excel puis adapter en vbscript.
Bonjour !
Non, celà ne me convient pas malheureusement...
le problème, c'est je dois délimiter chaque ligne importée, pour
qu'elle fasse partie d'un champ (pour un PDA, en fait)...
il faut donc impérativement que je puisse traiter chaque ligne au fur
et à mesure de l'importation.
Bonjour !
Non, celà ne me convient pas malheureusement...
le problème, c'est je dois délimiter chaque ligne importée, pour
qu'elle fasse partie d'un champ (pour un PDA, en fait)...
il faut donc impérativement que je puisse traiter chaque ligne au fur
et à mesure de l'importation.
Bonjour !
Non, celà ne me convient pas malheureusement...
le problème, c'est je dois délimiter chaque ligne importée, pour
qu'elle fasse partie d'un champ (pour un PDA, en fait)...
il faut donc impérativement que je puisse traiter chaque ligne au fur
et à mesure de l'importation.
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans
une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et
refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel
(je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans
une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et
refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel
(je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans
une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et
refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4 à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel
(je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
eh bien, si tu fais ce que tu suggère Alain, puis ensuite tu rouvre le...
Bonjour sympatix
(dans news:)
tu nous disais :Bonjour !
Non, celà ne me convient pas malheureusement...
le problème, c'est je dois délimiter chaque ligne importée, pour
qu'elle fasse partie d'un champ (pour un PDA, en fait)...
il faut donc impérativement que je puisse traiter chaque ligne au fur
et à mesure de l'importation.
eh bien, si tu fais ce que tu suggère Alain, puis ensuite tu rouvre le
fichier F:Toto.txt en lecture seule avec FSO ?
tu pourras le lire ligne par ligne (et les modifier une par une) avec
fso.ReadLine ??
du genre (à adapter) :
'----
Dim fs, Ligne
Set oFS=oFSO.OpenTextFile("F:Toto.txt" , ForReading, True)
While not oFS.AtEndOfStream
ligne=oFS.ReadLine
'Traitement
Wend
Set oFS=Nothing
Set oFSO=Nothing
'----
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper
eh bien, si tu fais ce que tu suggère Alain, puis ensuite tu rouvre le...
Bonjour sympatix
(dans news:eytNcwo8EHA.3260@TK2MSFTNGP14.phx.gbl)
tu nous disais :
Bonjour !
Non, celà ne me convient pas malheureusement...
le problème, c'est je dois délimiter chaque ligne importée, pour
qu'elle fasse partie d'un champ (pour un PDA, en fait)...
il faut donc impérativement que je puisse traiter chaque ligne au fur
et à mesure de l'importation.
eh bien, si tu fais ce que tu suggère Alain, puis ensuite tu rouvre le
fichier F:Toto.txt en lecture seule avec FSO ?
tu pourras le lire ligne par ligne (et les modifier une par une) avec
fso.ReadLine ??
du genre (à adapter) :
'----
Dim fs, Ligne
Set oFS=oFSO.OpenTextFile("F:Toto.txt" , ForReading, True)
While not oFS.AtEndOfStream
ligne=oFS.ReadLine
'Traitement
Wend
Set oFS=Nothing
Set oFSO=Nothing
'----
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper
eh bien, si tu fais ce que tu suggère Alain, puis ensuite tu rouvre le...
Bonjour sympatix
(dans news:)
tu nous disais :Bonjour !
Non, celà ne me convient pas malheureusement...
le problème, c'est je dois délimiter chaque ligne importée, pour
qu'elle fasse partie d'un champ (pour un PDA, en fait)...
il faut donc impérativement que je puisse traiter chaque ligne au fur
et à mesure de l'importation.
eh bien, si tu fais ce que tu suggère Alain, puis ensuite tu rouvre le
fichier F:Toto.txt en lecture seule avec FSO ?
tu pourras le lire ligne par ligne (et les modifier une par une) avec
fso.ReadLine ??
du genre (à adapter) :
'----
Dim fs, Ligne
Set oFS=oFSO.OpenTextFile("F:Toto.txt" , ForReading, True)
While not oFS.AtEndOfStream
ligne=oFS.ReadLine
'Traitement
Wend
Set oFS=Nothing
Set oFSO=Nothing
'----
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
scraper
Bonjour sympatix;
Dim sDrv, sSce, sTgt, oRec, i
Dim oDb, sDbc, sSql, oTxt, sVal
sDrv = "C:"
sSce = sDrv & "ClasseurDeTest.xls"
sTgt = sDrv & "ClasseurDeTest.Txt"
Set oDb = CreateObject("ADODB.Connection")
sDbc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
sDbc = sDbc & sSce & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
oDb.Open sDbc
Set oRec = CreateObject("ADODB.RecordSet")
oRec.CursorType = 1
oRec.LockType = 3
' Remplacer "Feuil1" par le nom réel de la feuille
sSql = "SELECT * FROM [Feuil1$]"
oRec.Open sSql, oDb
If Not oRec.EOF Then
oRec.MoveLast
oRec.MoveFirst
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set oTxt = fso.CreateTextFile(sTgt, True)
Do While Not oRec.EOF
For i = 0 To oRec.Fields.Count - 1
' Adapter le séparateur ";" selon vos critères
If i Then
sVal = sVal & ";""" & oRec.Fields(i) & """"
Else
sVal = """" & oRec.Fields(i) & """"
End If
Next
oTxt.WriteLine (sVal)
oRec.MoveNext
Loop
End If
oRec.Close
oDb.Close
oTxt.Close
MsgBox "Done !", 64, "Excel Reader"
Wscript.Quit
MP
"sympatix" a écrit dans le message de
news:Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans
unevariable (A), le texte contenu dans 6 cellules horizontales (dans mon
cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et
refaireça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4
à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la
suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel
(jesais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Bonjour sympatix;
Dim sDrv, sSce, sTgt, oRec, i
Dim oDb, sDbc, sSql, oTxt, sVal
sDrv = "C:"
sSce = sDrv & "ClasseurDeTest.xls"
sTgt = sDrv & "ClasseurDeTest.Txt"
Set oDb = CreateObject("ADODB.Connection")
sDbc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
sDbc = sDbc & sSce & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
oDb.Open sDbc
Set oRec = CreateObject("ADODB.RecordSet")
oRec.CursorType = 1
oRec.LockType = 3
' Remplacer "Feuil1" par le nom réel de la feuille
sSql = "SELECT * FROM [Feuil1$]"
oRec.Open sSql, oDb
If Not oRec.EOF Then
oRec.MoveLast
oRec.MoveFirst
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set oTxt = fso.CreateTextFile(sTgt, True)
Do While Not oRec.EOF
For i = 0 To oRec.Fields.Count - 1
' Adapter le séparateur ";" selon vos critères
If i Then
sVal = sVal & ";""" & oRec.Fields(i) & """"
Else
sVal = """" & oRec.Fields(i) & """"
End If
Next
oTxt.WriteLine (sVal)
oRec.MoveNext
Loop
End If
oRec.Close
oDb.Close
oTxt.Close
MsgBox "Done !", 64, "Excel Reader"
Wscript.Quit
MP
"sympatix" <totosympatix@toto.tele2.fr> a écrit dans le message de
news:uBFYZmn8EHA.3336@TK2MSFTNGP11.phx.gbl...
Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans
une
variable (A), le texte contenu dans 6 cellules horizontales (dans mon
cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et
refaire
ça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4
à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la
suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel
(je
sais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
Bonjour sympatix;
Dim sDrv, sSce, sTgt, oRec, i
Dim oDb, sDbc, sSql, oTxt, sVal
sDrv = "C:"
sSce = sDrv & "ClasseurDeTest.xls"
sTgt = sDrv & "ClasseurDeTest.Txt"
Set oDb = CreateObject("ADODB.Connection")
sDbc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
sDbc = sDbc & sSce & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
oDb.Open sDbc
Set oRec = CreateObject("ADODB.RecordSet")
oRec.CursorType = 1
oRec.LockType = 3
' Remplacer "Feuil1" par le nom réel de la feuille
sSql = "SELECT * FROM [Feuil1$]"
oRec.Open sSql, oDb
If Not oRec.EOF Then
oRec.MoveLast
oRec.MoveFirst
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set oTxt = fso.CreateTextFile(sTgt, True)
Do While Not oRec.EOF
For i = 0 To oRec.Fields.Count - 1
' Adapter le séparateur ";" selon vos critères
If i Then
sVal = sVal & ";""" & oRec.Fields(i) & """"
Else
sVal = """" & oRec.Fields(i) & """"
End If
Next
oTxt.WriteLine (sVal)
oRec.MoveNext
Loop
End If
oRec.Close
oDb.Close
oTxt.Close
MsgBox "Done !", 64, "Excel Reader"
Wscript.Quit
MP
"sympatix" a écrit dans le message de
news:Bonjour !
Depuis un script VBS, je voudrais, à l'aide d'une boucle, récupérer dans
unevariable (A), le texte contenu dans 6 cellules horizontales (dans mon
cas,
A2, à F2), de la première feuille (et unique) d'un fichier Excel, et
refaireça à chaque fois pour les 6 cellules en dessous (donc, A3 à F3, puis A4
à
F4, etc...), j'usqu'à la fin du fichier Excel.
(Mon but est en fait d'importer séparément dans un fichier texte, chaque
ligne à la fois, pour pouvoir les traiter individuellement par la
suite).
Pour l'instant tout ce que je sais faire, c'est ouvrir le fichier Excel
(jesais, c'est peu..., mais je ne suis pas trop familiarisé avec EXcel
Application)
----------------
Fichier = "F:toto.xls"
Set oXL = WScript.CreateObject("EXCEL.application")
oXL.Visible = True
oXL.Workbooks.Open Fichier
----------------
Merci d'avance
Cordialement
Sympatix
bonjour !Je t'ai fait suivre par mail un script VBS qui modifie tous les fichiers
Excel de plusieurs sous répertoires. Pour commencer j'ai commencé par
faire une macro sous excel puis adapter en vbscript.
Merci...mais, je n'arrive pas à y trouver mon bonheur (je n'ai aucune
expérience en vb d'Excel...)
(Il me faudrais simplement un truc dans le genre (en bon français ;-)
-----Ce que je voudrais, reste à traduire en script /ON------
For Each Ligne de ma feuille active Excel
Ma_variable = La_valeur_de_la _Ligne_de_la_Feuille_Excel
Blablabal...mes instructions...blablabla
Next
-----Ce que je voudrais, reste à traduire en script /OFF------
(à titre d'infos, je met en copier-coller en dessous, le code que tu m'as
envoyé par mail)
Cordialement
Sympatix
-----------------------------
Dim oFSO
Dim oFolder, oSubFolder, oFIle
Dim oXL
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder > oFSO.GetFolder("C:CELYAEasyPHPwwwcovapuserfilesrootAdherents")
Set oXL = WScript.CreateObject("EXCEL.application")
For each oSubFolder In oFolder.SubFolders
For each oFile In oSubFolder.Files
If InStr(LCase(oFile.Name), "restealivrer") > 0 Then
oXL.Workbooks.Open oFile.path
oXL.Visible = True
oXL.screenupdatingúlse
oXL.Sheets(1).Select
oXL.Sheets(1).PageSetup.PrintTitleRows = "$1:$1"
oXL.Sheets(1).PageSetup.PrintTitleColumns = ""
oXL.Sheets(1).PageSetup.PrintArea = ""
oXL.Sheets(1).PageSetup.LeftHeader = ""
oXL.Sheets(1).PageSetup.CenterHeader = ""
oXL.Sheets(1).PageSetup.RightHeader = ""
oXL.Sheets(1).PageSetup.LeftFooter = ""
oXL.Sheets(1).PageSetup.CenterFooter = "Page &P de &N"
oXL.Sheets(1).PageSetup.RightFooter = ""
oXL.Sheets(1).PageSetup.LeftMargin = 40 '42.5 points pour 1,5 cm
oXL.Sheets(1).PageSetup.RightMargin = 40
oXL.Sheets(1).PageSetup.TopMargin = 40
oXL.Sheets(1).PageSetup.BottomMargin = 40
oXL.Sheets(1).PageSetup.HeaderMargin = 14
oXL.Sheets(1).PageSetup.FooterMargin = 14
oXL.Sheets(1).PageSetup.PrintHeadings = False
oXL.Sheets(1).PageSetup.PrintGridlines = False
oXL.Sheets(1).PageSetup.PrintComments = -4142 'xlPrintNoComments
oXL.Sheets(1).PageSetup.PrintQuality = 600
oXL.Sheets(1).PageSetup.CenterHorizontally = False
oXL.Sheets(1).PageSetup.CenterVertically = False
oXL.Sheets(1).PageSetup.Orientation = 2 'xlLandscape
oXL.Sheets(1).PageSetup.Draft = False
oXL.Sheets(1).PageSetup.PaperSize = 9 'xlPaperA4
oXL.Sheets(1).PageSetup.FirstPageNumber = -4105 'xlAutomatic
oXL.Sheets(1).PageSetup.Order = 1 'xlDownThenOver
oXL.Sheets(1).PageSetup.BlackAndWhite = False
oXL.Sheets(1).PageSetup.Zoom = False
oXL.Sheets(1).PageSetup.FitToPagesWide = 1 'Adapter à la largeur d'une
page
oXL.Sheets(1).PageSetup.FitToPagesTall = False
oXL.Sheets(1).PageSetup.PrintErrors = 0 'xlPrintErrorsDisplayed
oXL.cells(1,1).select
oXL.ActiveWorkbook.Save
oXL.ActiveWorkbook.close
End If
Next
Next
oXL.Application.Quit
-----------------------------
bonjour !
Je t'ai fait suivre par mail un script VBS qui modifie tous les fichiers
Excel de plusieurs sous répertoires. Pour commencer j'ai commencé par
faire une macro sous excel puis adapter en vbscript.
Merci...mais, je n'arrive pas à y trouver mon bonheur (je n'ai aucune
expérience en vb d'Excel...)
(Il me faudrais simplement un truc dans le genre (en bon français ;-)
-----Ce que je voudrais, reste à traduire en script /ON------
For Each Ligne de ma feuille active Excel
Ma_variable = La_valeur_de_la _Ligne_de_la_Feuille_Excel
Blablabal...mes instructions...blablabla
Next
-----Ce que je voudrais, reste à traduire en script /OFF------
(à titre d'infos, je met en copier-coller en dessous, le code que tu m'as
envoyé par mail)
Cordialement
Sympatix
-----------------------------
Dim oFSO
Dim oFolder, oSubFolder, oFIle
Dim oXL
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder > oFSO.GetFolder("C:CELYAEasyPHPwwwcovapuserfilesrootAdherents")
Set oXL = WScript.CreateObject("EXCEL.application")
For each oSubFolder In oFolder.SubFolders
For each oFile In oSubFolder.Files
If InStr(LCase(oFile.Name), "restealivrer") > 0 Then
oXL.Workbooks.Open oFile.path
oXL.Visible = True
oXL.screenupdatingúlse
oXL.Sheets(1).Select
oXL.Sheets(1).PageSetup.PrintTitleRows = "$1:$1"
oXL.Sheets(1).PageSetup.PrintTitleColumns = ""
oXL.Sheets(1).PageSetup.PrintArea = ""
oXL.Sheets(1).PageSetup.LeftHeader = ""
oXL.Sheets(1).PageSetup.CenterHeader = ""
oXL.Sheets(1).PageSetup.RightHeader = ""
oXL.Sheets(1).PageSetup.LeftFooter = ""
oXL.Sheets(1).PageSetup.CenterFooter = "Page &P de &N"
oXL.Sheets(1).PageSetup.RightFooter = ""
oXL.Sheets(1).PageSetup.LeftMargin = 40 '42.5 points pour 1,5 cm
oXL.Sheets(1).PageSetup.RightMargin = 40
oXL.Sheets(1).PageSetup.TopMargin = 40
oXL.Sheets(1).PageSetup.BottomMargin = 40
oXL.Sheets(1).PageSetup.HeaderMargin = 14
oXL.Sheets(1).PageSetup.FooterMargin = 14
oXL.Sheets(1).PageSetup.PrintHeadings = False
oXL.Sheets(1).PageSetup.PrintGridlines = False
oXL.Sheets(1).PageSetup.PrintComments = -4142 'xlPrintNoComments
oXL.Sheets(1).PageSetup.PrintQuality = 600
oXL.Sheets(1).PageSetup.CenterHorizontally = False
oXL.Sheets(1).PageSetup.CenterVertically = False
oXL.Sheets(1).PageSetup.Orientation = 2 'xlLandscape
oXL.Sheets(1).PageSetup.Draft = False
oXL.Sheets(1).PageSetup.PaperSize = 9 'xlPaperA4
oXL.Sheets(1).PageSetup.FirstPageNumber = -4105 'xlAutomatic
oXL.Sheets(1).PageSetup.Order = 1 'xlDownThenOver
oXL.Sheets(1).PageSetup.BlackAndWhite = False
oXL.Sheets(1).PageSetup.Zoom = False
oXL.Sheets(1).PageSetup.FitToPagesWide = 1 'Adapter à la largeur d'une
page
oXL.Sheets(1).PageSetup.FitToPagesTall = False
oXL.Sheets(1).PageSetup.PrintErrors = 0 'xlPrintErrorsDisplayed
oXL.cells(1,1).select
oXL.ActiveWorkbook.Save
oXL.ActiveWorkbook.close
End If
Next
Next
oXL.Application.Quit
-----------------------------
bonjour !Je t'ai fait suivre par mail un script VBS qui modifie tous les fichiers
Excel de plusieurs sous répertoires. Pour commencer j'ai commencé par
faire une macro sous excel puis adapter en vbscript.
Merci...mais, je n'arrive pas à y trouver mon bonheur (je n'ai aucune
expérience en vb d'Excel...)
(Il me faudrais simplement un truc dans le genre (en bon français ;-)
-----Ce que je voudrais, reste à traduire en script /ON------
For Each Ligne de ma feuille active Excel
Ma_variable = La_valeur_de_la _Ligne_de_la_Feuille_Excel
Blablabal...mes instructions...blablabla
Next
-----Ce que je voudrais, reste à traduire en script /OFF------
(à titre d'infos, je met en copier-coller en dessous, le code que tu m'as
envoyé par mail)
Cordialement
Sympatix
-----------------------------
Dim oFSO
Dim oFolder, oSubFolder, oFIle
Dim oXL
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder > oFSO.GetFolder("C:CELYAEasyPHPwwwcovapuserfilesrootAdherents")
Set oXL = WScript.CreateObject("EXCEL.application")
For each oSubFolder In oFolder.SubFolders
For each oFile In oSubFolder.Files
If InStr(LCase(oFile.Name), "restealivrer") > 0 Then
oXL.Workbooks.Open oFile.path
oXL.Visible = True
oXL.screenupdatingúlse
oXL.Sheets(1).Select
oXL.Sheets(1).PageSetup.PrintTitleRows = "$1:$1"
oXL.Sheets(1).PageSetup.PrintTitleColumns = ""
oXL.Sheets(1).PageSetup.PrintArea = ""
oXL.Sheets(1).PageSetup.LeftHeader = ""
oXL.Sheets(1).PageSetup.CenterHeader = ""
oXL.Sheets(1).PageSetup.RightHeader = ""
oXL.Sheets(1).PageSetup.LeftFooter = ""
oXL.Sheets(1).PageSetup.CenterFooter = "Page &P de &N"
oXL.Sheets(1).PageSetup.RightFooter = ""
oXL.Sheets(1).PageSetup.LeftMargin = 40 '42.5 points pour 1,5 cm
oXL.Sheets(1).PageSetup.RightMargin = 40
oXL.Sheets(1).PageSetup.TopMargin = 40
oXL.Sheets(1).PageSetup.BottomMargin = 40
oXL.Sheets(1).PageSetup.HeaderMargin = 14
oXL.Sheets(1).PageSetup.FooterMargin = 14
oXL.Sheets(1).PageSetup.PrintHeadings = False
oXL.Sheets(1).PageSetup.PrintGridlines = False
oXL.Sheets(1).PageSetup.PrintComments = -4142 'xlPrintNoComments
oXL.Sheets(1).PageSetup.PrintQuality = 600
oXL.Sheets(1).PageSetup.CenterHorizontally = False
oXL.Sheets(1).PageSetup.CenterVertically = False
oXL.Sheets(1).PageSetup.Orientation = 2 'xlLandscape
oXL.Sheets(1).PageSetup.Draft = False
oXL.Sheets(1).PageSetup.PaperSize = 9 'xlPaperA4
oXL.Sheets(1).PageSetup.FirstPageNumber = -4105 'xlAutomatic
oXL.Sheets(1).PageSetup.Order = 1 'xlDownThenOver
oXL.Sheets(1).PageSetup.BlackAndWhite = False
oXL.Sheets(1).PageSetup.Zoom = False
oXL.Sheets(1).PageSetup.FitToPagesWide = 1 'Adapter à la largeur d'une
page
oXL.Sheets(1).PageSetup.FitToPagesTall = False
oXL.Sheets(1).PageSetup.PrintErrors = 0 'xlPrintErrorsDisplayed
oXL.cells(1,1).select
oXL.ActiveWorkbook.Save
oXL.ActiveWorkbook.close
End If
Next
Next
oXL.Application.Quit
-----------------------------