cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
16 févr. 2008 à 12:18
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
17 févr. 2008 à 14:24
Bonjour à tous,
Pour du reporting, j'ouvre un fichier Excel avec ADODB.
Avec un fichier comportant des headers, j'arrive à extraire des informations à partir d'une recherche.
Ex:
sFile = "D:\JMO\BEL\BSS\Bible BSS.xls"
sSearch = InputBox("Mettre la session recherchée",,"FKTS")
Set oRs = CreateObject("ADODB.Recordset")
'1=adOpenKeyset, 3=adLockOptimistic
MaQuery = "Select [Session], [Nom des BSS] from [Feuil1$] Where " &_
"Instr(1,[Session],""" & sSearch & """)"
MsgBox MaQuery
oRs.Open MaQuery, oConn, 1, 3
Do Until oRs.EOF
sList = sList &vbcrlf& "
"""& oRs.Fields(0) _
&vbTab&vbTab& oRs.Fields(1) & """
"
oRs.MoveNext
Loop
Mon problème, j'ai un fichier Excel avec HDR=NO, et je n'arrive pas à trouver la syntaxe pour me positionner sur une cellule souhaitée.
Suis-je obligé de préciser une plage de cellules ???
Avec sCells = "A260:N430" , la requête se positionne bien sur la cellule A260.
Problème, si ajout de server(s) dans le fichier, j'ai tout faux !!!
Mon tableau aHostName comportera le nom de chaque server, pour lesquels je devrais me positionner dans le .xls et modifier le contenu de certaines cellules en fonction du mois.
Mon script provisoire:
'Description File Excel
'Header=No
'Colonne A:
'Nom des servers (cellules fusionnées sur 5 lignes)
'
'
' Colonne A Colonne B Colonne C Colonne D ... Colonne N
'ligne 14 Janvier Février Décembre
'
'ligne 260 SRV_CVS Capacité en Go 0,09
'ligne 261 /dev/cciss/c0d0p1 Utilisé en Go 0,01
'ligne 262 /boot % utilisé 11,24%
'ligne 263
'ligne 264
'ligne 265 SRV_CVS Capacité en Go 6,80
'ligne 266 /dev/cciss/c0d0p5 Utilisé en Go 9,20
'ligne 267 /boot % utilisé 73,91%
'ligne 268
'ligne 269
Dim oConn, oRs, oIE
Dim sFile, sSearch, sList
sFile = "D:\JMO\Bureau\Test_Reporting_Unix.xls"
'Table servers/folder Unix
Dim aHostName(3)
aHostName(0) = "SRV_CVS/dev/cciss/c0d0p1/boot"
aHostName(1) = "SRV_CVS/dev/cciss/c0d0p5"
aHostName(2) = "SRV_CVS/dev/cciss/c0d0p6/projets/"
aHostName(3) = "SRV-BDDP/dev/cciss/c0d0p1/boot"
'
'For i=0 To UBound(aHostName)
' Lancement query pour aHostName(i)
'Next
'Update last row
oRs(2).Value = 12 'information à extraire d'un fichier
oRs.Update
MsgBox oRs.Fields(0) &vbCrLf& oRs.Fields(1) &vbCrLf& oRs.Fields(2)
'Close the connection
oConn.Close
Set oConn = Nothing
Set oCmd = Nothing
Set oRs = Nothing
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 17 févr. 2008 à 14:24
Bonjour à tous,
Problème résolu.
IMEX=1 pour les valeurs numériques
"SELECT [F1], [F" & Month(Date)+1 & "] "
F1 représente la colonne A , utile si HDR=NO
"[F" & Month(Date)+1 & "]" retourne la colonne C dans mon cas (2+1) = F3
cpt = 1
For i = 0 To oRs.RecordCount-1
Select Case cpt
Case 1
oRs(3).Value = 80 'cette valeur sera extraite d'un txt
oRs.Update
cpt = cpt +1
Case 2
oRs(3).Value = 40 'cette valeur sera extraite d'un txt
oRs.Update
cpt = cpt +1
Case 3, 4 , 5 If cpt 5 Then cpt 0
cpt = cpt +1
End Select
oRs.MoveNext
Next
'Close the connection
oConn.Close
Set oConn = Nothing
Set oCmd = Nothing
Set oRs = Nothing
Je reste, évidemment, réceptif à toutes propositions concernant
le remplacement de sCells = "A260:N428", de même pour toutes améliorations de ce code.
Merci.