Migration macro VBA vers application VB6

Résolu
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011 - 25 août 2010 à 17:19
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 - 26 août 2010 à 14:11
bonjour.
je rencontre un problème en migrant une macro realiser en vba dans une application VB

dans ma macro je recupère la dernière cellule de la colonne A remplie :

i = exldoc.ActiveSheet.Range("A65536").End(xlUp).Row


et ceci fonctionne.
j'ai biensur au préalable fais ceci

Set exlapp = CreateObject("excel.application")
Set exldoc = exlapp.Workbooks.Open(path & "" & nomFichier)

Set sheet = exlapp.ActiveWorkbook.ActiveSheet


quand je passe en VB6 la ligne

i = exldoc.ActiveSheet.Range("A65536").End(xlUp).Row


pose problème. j'obtiens la run-time error 1004

"Application-defined or object-defined error"

je ne vois pas d'où cela peut venir donc si quelqu'un a une piste ...

PS: dans VB6 j'ai bien rajouté la réference à excel.

Merci d'avance


A good excercise for the Heart is to bend down and help another up...

4 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 77
25 août 2010 à 19:27
Salut

Si tu as trouvé ton problème, il aurait été de bon allouât d'en faire profiter la communauté.
Je pense que ton problème vient de la constante Excel xlUp qui, bien sûr, n'existe pas en VB6.
Const xlUp = -4162  ' (&HFFFFEFBE)
Obtenu en regardant dans l'explorateur d'objets (F2) sous Excel

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
26 août 2010 à 09:07
toutes mes excuse. je partais du bureau donc ...

pour l'erreur c'est exactement ça.

du coup pour faire la même chose en vb6

exldoc.UsedRange.Rows.count


voila voila.

A good excercise for the Heart is to bend down and help another up...
3
the_little_big_man Messages postés 86 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 14 février 2011
25 août 2010 à 17:50
trouvé ma solution.

A good excercise for the Heart is to bend down and help another up...
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
26 août 2010 à 14:11
Bonjour,
Serais-un bug ? parce que quand tu ajoute la référence, le mot clé Xlup devrait être accepté ?
A+
0
Rejoignez-nous