Menu

VBS :Recuperer le numero de la derniere ligne [Fermé]

_Tido_ - 31 août 2009 à 15:36 - Dernière réponse : michel_m 15210 Messages postés lundi 12 septembre 2005Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention
- 31 août 2009 à 17:43
Bonjour,


j'essaye d'aller sur la derniere ligne d'un fichier excel que je modifie de manière iterative :
ouverture
ecriture sur la derniere ligne
fermeture

L'ouverture et la fermeture marche.
L'ecriture sur une cellule donnée aussi. je n'arrive pas à aller sur la dernière ligne.


J'utilise la méthode .SpecialCells(xlCellTypeLastCell) mais cela ne marche pas.
"Impossible de lire la propriétés special cells de la classe Range"


L'application sera lancer a la ligne de commande dos C:\Program~\system32\Cscript.exe test.vbs



Voici le code source test.vbs:


x1 = 100
Dim AppExcel
Dim Fichier
Dim Feuille_XLS
Dim Derniere_Ligne
Fichier ="C:\ddb_stockage.xls"
Feuille_XLS="Feuil1"
If FichierExiste(Fichier) = False Then
MsgBox "Le fichier " & Fichier & " est introuvable !"
WScript.Quit
End If
Set AppExcel = WScript.CreateObject("Excel.Application")
AppExcel.Visible = True
'On Error Resume Next
'ouvre le classeur
AppExcel.Workbooks.Open (Fichier)
AppExcel.Sheets(Feuille_XLS).Activate
'AppExcel.ActiveSheet.Range("A2").Activate 'saute la 1ère ligne


Derniere_Ligne = AppExcel.ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Activate

'AppExcel.Cell(Derniere_ligne+1,1)=x1S

'AppExcel.ActiveCell.FormulaR1C1 = x1



Set AppExcel = Nothing
'quitte VBS
WScript.Quit

'Test d'existence d'un fichier
Function FichierExiste(Fichier)
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FichierExiste = FSO.FileExists(Fichier)
Set FSO = Nothing
End Function
Afficher la suite 

1 réponse

michel_m 15210 Messages postés lundi 12 septembre 2005Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 31 août 2009 à 17:43
0
Utile
Bonjour,
essaies
AppExcel.Workbooks.Open (Fichier)
der_lig=Sheets(Feuille_XLS).range("A65536").end(xlup).row
cells(der_lig+1,1)=x1

tu n'as pas besoin des activate...
par contre:
1/ tu as oublié (?) de sauvegarder le classeur
2/ as tu besoin de rendre le classeur visible ? (appexcel.visible=true...)
3/ un ptit message à la fin pour avertir que c'est OK genre msgbox " affectation à Excel réussie"