Signaler

VBS :Recuperer le numero de la derniere ligne

Posez votre question _Tido_ - Dernière réponse le 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 
Utile
+0
moins plus
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"
Ajouter un commentaire

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 !