Signaler

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

Posez votre question _Tido_ - Dernière réponse le 31 août 2009 à 17:43 par michel_m
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 
Utile
+0
plus moins
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"

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !