Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Automation depuis Acces XP sur Excel XP

2 réponses
Avatar
Francois Falk
Bonjour,
J'ai ici un bout de code qui fonctionnait parfaitement sur les versions
2000.

J'essaye de faire fonctionner celui-ci sur XP. Mais sans succès.
En gros je parcours les feuilles d'un classeur pour en connaitre le nom.

J'ai une erreur lors du traitement de la ligne For Each...

Voici mon code.

Dim AppExcel As Excel.Application
Dim Classeur As Excel.Workbook
Dim Feuille As Excel.Worksheet

Set AppExcel = CreateObject("Excel.Application")
Set Classeur = AppExcel.Workbooks.Open(FileName)

For Each Feuille In AppExcel.ActiveWorkbook.Worksheets 'C'est ici que
l'erreur se produit
Msgbox Feuille.Name
next

Il me retourne l'erreur 451 la procédure Property Let n'est pas définie et
la procédure Property Get n'a pas renvoyé d'objet

Bien entendu cette boucle fonctionne parfaitement dans Excel.

alors si quelqu'un à une idée je suis preneur.

Merci d'avance
--
François Falk

Pour me répondre directement remplacer le .toto par .ch

2 réponses

Avatar
Ellimac
Bonjour,

Je n'ai pas Access XP donc je ne peux tester. Par contre
tu peux essayer en modifiant ton code :
n=Classeur.Sheets.Count
For cpt=1 to n
MsgBox Classeur.Sheets(cpt).Name
Next

Camille

-----Message d'origine-----
Bonjour,
J'ai ici un bout de code qui fonctionnait parfaitement
sur les versions

2000.

J'essaye de faire fonctionner celui-ci sur XP. Mais sans
succès.

En gros je parcours les feuilles d'un classeur pour en
connaitre le nom.


J'ai une erreur lors du traitement de la ligne For Each...

Voici mon code.

Dim AppExcel As Excel.Application
Dim Classeur As Excel.Workbook
Dim Feuille As Excel.Worksheet

Set AppExcel = CreateObject("Excel.Application")
Set Classeur = AppExcel.Workbooks.Open(FileName)

For Each Feuille In
AppExcel.ActiveWorkbook.Worksheets 'C'est ici que

l'erreur se produit
Msgbox Feuille.Name
next

Il me retourne l'erreur 451 la procédure Property Let
n'est pas définie et

la procédure Property Get n'a pas renvoyé d'objet

Bien entendu cette boucle fonctionne parfaitement dans
Excel.


alors si quelqu'un à une idée je suis preneur.

Merci d'avance
--
François Falk

Pour me répondre directement remplacer le .toto par .ch


.



Avatar
Ellimac
Les mystères de Bill (encore 1)...

Camille

-----Message d'origine-----
Merci.
cette méthode passe beaucoup mieux.
Enfin, je ne saurais certainement jamais pourquoi l'autre
ne passais pas.



--
François Falk

Pour me répondre directement remplacer le .toto par .ch



"Ellimac" a
écrit dans le

message de news:4a3e01c35697$00549720$
Bonjour,

Je n'ai pas Access XP donc je ne peux tester. Par contre
tu peux essayer en modifiant ton code :
n=Classeur.Sheets.Count
For cpt=1 to n
MsgBox Classeur.Sheets(cpt).Name
Next

Camille

-----Message d'origine-----
Bonjour,
J'ai ici un bout de code qui fonctionnait parfaitement
sur les versions

2000.

J'essaye de faire fonctionner celui-ci sur XP. Mais sans
succès.

En gros je parcours les feuilles d'un classeur pour en
connaitre le nom.


J'ai une erreur lors du traitement de la ligne For
Each...



Voici mon code.

Dim AppExcel As Excel.Application
Dim Classeur As Excel.Workbook
Dim Feuille As Excel.Worksheet

Set AppExcel = CreateObject("Excel.Application")
Set Classeur = AppExcel.Workbooks.Open(FileName)

For Each Feuille In
AppExcel.ActiveWorkbook.Worksheets 'C'est ici que

l'erreur se produit
Msgbox Feuille.Name
next

Il me retourne l'erreur 451 la procédure Property Let
n'est pas définie et

la procédure Property Get n'a pas renvoyé d'objet

Bien entendu cette boucle fonctionne parfaitement dans
Excel.


alors si quelqu'un à une idée je suis preneur.

Merci d'avance
--
François Falk

Pour me répondre directement remplacer le .toto par .ch


.




.