Je suis en train de migrer des macros VBA Excel 2003 vers 2007 et je
rencontre le probl=E8me suivant.
Lorsque j'affecte une valeur quelconque =E0 une cellule avec le code
ActiveSheet.Cells(xx,yy).Value=3D"Quelque Chose", Err.Number retourne
syst=E9matiquement 9 sous 2007 alors que sous 2003 il renvoi 0.
Le code ci-dessous met en =E9vidence le probl=E8me.
Public Sub Test ()
Dim i As Long
On Error Resume Next
With ActiveSheet
For i =3D 1 To 100
. Cells (i, "A"). Value =3D i
If Err.Number =3D 0 Then
. Cells (i, "B"). Value =3D "OK"
Else
. Cells (i, "B"). Value =3D "KB (" & Err.Number & "-" &
Err.Description & ")"
End If
Err.Clear
Next
End With
End Sub
Est-ce un bug dans VBA 2007 ou bien est-ce mon code qui d=E9lire, mais
alors pourquoi fonctionne-t-il sous 2003?
Quelqu'un a-t-il d=E9j=E0 rencontr=E9 le probl=E8me?
Y-a-t-il une solution?
| "on a constaté des comportement anormaux des macros"
*** Justement, si tu connais ces "comportements anormaux" pourquoi tu ne nous les décris pas ? Que se passe-t-il de différent entre Word 2003 et Word 2007 ?
*** Je t'ai fait une proposition, qu'est-ce qui ne fonctionne pas ? Tu as un message d'erreur ? Tu peux identifier la ligne de code sur laquelle la procédure bloque ?
N.B - Ici c'est un forum sur Excel. Si tu rencontres un problème très pointu concernant le fonctionnement de Word...Je te suggère de consulter un de leurs forums.
"Jo" a écrit dans le message de groupe de discussion :
On 12 fév, 22:18, "michdenis" wrote:
À partir de ton code, c'est difficile de savoir ... mais une erreur 9 est générée à chaque fois que la référence à un objet est inadéquate
Salut,
Je ne pense pas que mon code soit en cause car il fonctionne depuis plusieurs mois sous Excel 2003. Depuis que nous avons migré quelques postes en 2007, on a constaté des comportement anormaux des macros. Quand je dis comportement anormaux, il ne s'agit d'erreur signalée par un popup, mais de résultats incohérents et SURTOUT différents du même code exécuté sur un poste ayant Office 2003. En analysant et traçant le code, j'ai cerné la parti de code en question. C'est pour cela que j'ai posté au début de ce fil un exemple mettant en évidence ce problème.
Bon WE @+
| "on a constaté des comportement anormaux des macros"
*** Justement, si tu connais ces "comportements anormaux"
pourquoi tu ne nous les décris pas ? Que se passe-t-il de
différent entre Word 2003 et Word 2007 ?
*** Je t'ai fait une proposition, qu'est-ce qui ne fonctionne pas ?
Tu as un message d'erreur ? Tu peux identifier la ligne de code
sur laquelle la procédure bloque ?
N.B - Ici c'est un forum sur Excel. Si tu rencontres un problème très pointu
concernant le fonctionnement de Word...Je te suggère de consulter
un de leurs forums.
"Jo" <j.tribaudini@gmail.com> a écrit dans le message de groupe de discussion :
42e747d8-4166-4953-92b6-9de2acdcc0e0@e1g2000yqh.googlegroups.com...
On 12 fév, 22:18, "michdenis" <michde...@hotmail.com> wrote:
À partir de ton code, c'est difficile de savoir ...
mais une erreur 9 est générée à chaque fois
que la référence à un objet est inadéquate
Salut,
Je ne pense pas que mon code soit en cause car il fonctionne depuis
plusieurs mois sous Excel 2003.
Depuis que nous avons migré quelques postes en 2007, on a constaté des
comportement anormaux des macros. Quand je dis comportement anormaux,
il ne s'agit d'erreur signalée par un popup, mais de résultats
incohérents et SURTOUT différents du même code exécuté sur un poste
ayant Office 2003.
En analysant et traçant le code, j'ai cerné la parti de code en
question.
C'est pour cela que j'ai posté au début de ce fil un exemple mettant
en évidence ce problème.
| "on a constaté des comportement anormaux des macros"
*** Justement, si tu connais ces "comportements anormaux" pourquoi tu ne nous les décris pas ? Que se passe-t-il de différent entre Word 2003 et Word 2007 ?
*** Je t'ai fait une proposition, qu'est-ce qui ne fonctionne pas ? Tu as un message d'erreur ? Tu peux identifier la ligne de code sur laquelle la procédure bloque ?
N.B - Ici c'est un forum sur Excel. Si tu rencontres un problème très pointu concernant le fonctionnement de Word...Je te suggère de consulter un de leurs forums.
"Jo" a écrit dans le message de groupe de discussion :
On 12 fév, 22:18, "michdenis" wrote:
À partir de ton code, c'est difficile de savoir ... mais une erreur 9 est générée à chaque fois que la référence à un objet est inadéquate
Salut,
Je ne pense pas que mon code soit en cause car il fonctionne depuis plusieurs mois sous Excel 2003. Depuis que nous avons migré quelques postes en 2007, on a constaté des comportement anormaux des macros. Quand je dis comportement anormaux, il ne s'agit d'erreur signalée par un popup, mais de résultats incohérents et SURTOUT différents du même code exécuté sur un poste ayant Office 2003. En analysant et traçant le code, j'ai cerné la parti de code en question. C'est pour cela que j'ai posté au début de ce fil un exemple mettant en évidence ce problème.
Bon WE @+
michdenis
| Je ne pense pas que mon code soit en cause car il | fonctionne depuis plusieurs mois sous Excel 2003.
**** Si c'est ton voisin qui éprouve des problèmes et que ton code fonctionne bien, il n'y a plus de question. Non ?
**** Si dans ton code, tu fais référence au nom d'un fichier, le fait que les extensions des fichiers soient différentes peut être suffisant pour générer une erreur de type 9.
**** Si tu constates des "comportements anormaux" autres que le message d'erreur de type 9 pour laquelle je t'ai déjà fourni une explication, pourquoi ne pas nous décrire ces anomalies que tu as constatées ?
Depuis que nous avons migré quelques postes en 2007, on a constaté des comportement anormaux des macros. Quand je dis comportement anormaux, il ne s'agit d'erreur signalée par un popup, mais de résultats incohérents et SURTOUT différents du même code exécuté sur un poste ayant Office 2003. En analysant et traçant le code, j'ai cerné la parti de code en question. C'est pour cela que j'ai posté au début de ce fil un exemple mettant en évidence ce problème.
Bon WE @+
| Je ne pense pas que mon code soit en cause car il
| fonctionne depuis plusieurs mois sous Excel 2003.
**** Si c'est ton voisin qui éprouve des problèmes
et que ton code fonctionne bien, il n'y a plus de
question. Non ?
**** Si dans ton code, tu fais référence au nom d'un fichier,
le fait que les extensions des fichiers soient différentes
peut être suffisant pour générer une erreur de type 9.
**** Si tu constates des "comportements anormaux" autres que
le message d'erreur de type 9 pour laquelle je t'ai déjà
fourni une explication, pourquoi ne pas nous décrire
ces anomalies que tu as constatées ?
Depuis que nous avons migré quelques postes en 2007, on a constaté des
comportement anormaux des macros. Quand je dis comportement anormaux,
il ne s'agit d'erreur signalée par un popup, mais de résultats
incohérents et SURTOUT différents du même code exécuté sur un poste
ayant Office 2003.
En analysant et traçant le code, j'ai cerné la parti de code en
question.
C'est pour cela que j'ai posté au début de ce fil un exemple mettant
en évidence ce problème.
| Je ne pense pas que mon code soit en cause car il | fonctionne depuis plusieurs mois sous Excel 2003.
**** Si c'est ton voisin qui éprouve des problèmes et que ton code fonctionne bien, il n'y a plus de question. Non ?
**** Si dans ton code, tu fais référence au nom d'un fichier, le fait que les extensions des fichiers soient différentes peut être suffisant pour générer une erreur de type 9.
**** Si tu constates des "comportements anormaux" autres que le message d'erreur de type 9 pour laquelle je t'ai déjà fourni une explication, pourquoi ne pas nous décrire ces anomalies que tu as constatées ?
Depuis que nous avons migré quelques postes en 2007, on a constaté des comportement anormaux des macros. Quand je dis comportement anormaux, il ne s'agit d'erreur signalée par un popup, mais de résultats incohérents et SURTOUT différents du même code exécuté sur un poste ayant Office 2003. En analysant et traçant le code, j'ai cerné la parti de code en question. C'est pour cela que j'ai posté au début de ce fil un exemple mettant en évidence ce problème.
Bon WE @+
Jo
Bonjour michdenis
Je ne comprends pas ce brin d'agressivité dans tes réponses. J'ai essayé d'être clair depuis l'ouverture de ce fil, j'ai posté un exemple du problème que je rencontre, je ne vois pas ce que je peux faire de plus. Pour faire court et clair, je vais répondre point par point:
*** Justement, si tu connais ces "comportements anormaux" pourquoi tu ne nous les décris pas ? Que se passe-t-il de différent entre Word 2003 et Word 2007 ?
Peut-être ne suis-je pas clair, mais j'ai exposé, exemple à l'appui, le problème que je rencontre lors de la migration d'une macro VBA depuis Excel2003 vers Excel2007. (Pb de la valeur Err.Number lors de l'affectation d'une valeur à une cellule).
*** Je t'ai fait une proposition, qu'est-ce qui ne fonctionne pas ? Tu as un message d'erreur ? Tu peux identifier la ligne de code sur laquelle la procédure bloque ?
J'ai posté au tout début de ce fil de discussion l'exemple (Sub Test) qui met en évidence le problème que je rencontre. Je résume: - Pas de message d'erreur - Pas de blocage - L'anomalie se situe au niveau du test de la valeur de Err.Number après la ligne de code: ActiveSheet.Cells(i, "A").Value = i Sous 2003 Err.Number rend systématiquement 0 sous 2007 Err.Number rend systématiquement 9
N.B - Ici c'est un forum sur Excel. Si tu rencontres un problème très pointu concernant le fonctionnement de Word...Je te suggère de consulter un de leurs forums.
**** Si dans ton code, tu fais référence au nom d'un fichier, le fait que les extensions des fichiers soient différen tes peut être suffisant pour générer une erreur de type 9.
L'exemple (Sub Test) fourni en début de fil ne fait référence à auc un fichier externe à la macro.
**** Si tu constates des "comportements anormaux" autres que le message d'erreur de type 9 pour laquelle je t'ai déj à fourni une explication, pourquoi ne pas nous décrire ces anomalies que tu as constatées ?
Je me répète, mais l'exemple simplissime fourni au début décrit l'anomalie que nous rencontrons.
Bonne journée.
Bonjour michdenis
Je ne comprends pas ce brin d'agressivité dans tes réponses. J'ai
essayé d'être clair depuis l'ouverture de ce fil, j'ai posté un
exemple du problème que je rencontre, je ne vois pas ce que je peux
faire de plus.
Pour faire court et clair, je vais répondre point par point:
*** Justement, si tu connais ces "comportements anormaux"
pourquoi tu ne nous les décris pas ? Que se passe-t-il de
différent entre Word 2003 et Word 2007 ?
Peut-être ne suis-je pas clair, mais j'ai exposé, exemple à l'appui,
le problème que je rencontre lors de la migration d'une macro VBA
depuis Excel2003 vers Excel2007. (Pb de la valeur Err.Number lors de
l'affectation d'une valeur à une cellule).
*** Je t'ai fait une proposition, qu'est-ce qui ne fonctionne pas ?
Tu as un message d'erreur ? Tu peux identifier la ligne de code
sur laquelle la procédure bloque ?
J'ai posté au tout début de ce fil de discussion l'exemple (Sub Test)
qui met en évidence le problème que je rencontre.
Je résume:
- Pas de message d'erreur
- Pas de blocage
- L'anomalie se situe au niveau du test de la valeur de Err.Number
après la ligne de code:
ActiveSheet.Cells(i, "A").Value = i
Sous 2003 Err.Number rend systématiquement 0
sous 2007 Err.Number rend systématiquement 9
N.B - Ici c'est un forum sur Excel. Si tu rencontres un problème très pointu
concernant le fonctionnement de Word...Je te suggère de consulter
un de leurs forums.
**** Si dans ton code, tu fais référence au nom d'un fichier,
le fait que les extensions des fichiers soient différen tes
peut être suffisant pour générer une erreur de type 9.
L'exemple (Sub Test) fourni en début de fil ne fait référence à auc un
fichier externe à la macro.
**** Si tu constates des "comportements anormaux" autres que
le message d'erreur de type 9 pour laquelle je t'ai déj à
fourni une explication, pourquoi ne pas nous décrire
ces anomalies que tu as constatées ?
Je me répète, mais l'exemple simplissime fourni au début décrit
l'anomalie que nous rencontrons.
Je ne comprends pas ce brin d'agressivité dans tes réponses. J'ai essayé d'être clair depuis l'ouverture de ce fil, j'ai posté un exemple du problème que je rencontre, je ne vois pas ce que je peux faire de plus. Pour faire court et clair, je vais répondre point par point:
*** Justement, si tu connais ces "comportements anormaux" pourquoi tu ne nous les décris pas ? Que se passe-t-il de différent entre Word 2003 et Word 2007 ?
Peut-être ne suis-je pas clair, mais j'ai exposé, exemple à l'appui, le problème que je rencontre lors de la migration d'une macro VBA depuis Excel2003 vers Excel2007. (Pb de la valeur Err.Number lors de l'affectation d'une valeur à une cellule).
*** Je t'ai fait une proposition, qu'est-ce qui ne fonctionne pas ? Tu as un message d'erreur ? Tu peux identifier la ligne de code sur laquelle la procédure bloque ?
J'ai posté au tout début de ce fil de discussion l'exemple (Sub Test) qui met en évidence le problème que je rencontre. Je résume: - Pas de message d'erreur - Pas de blocage - L'anomalie se situe au niveau du test de la valeur de Err.Number après la ligne de code: ActiveSheet.Cells(i, "A").Value = i Sous 2003 Err.Number rend systématiquement 0 sous 2007 Err.Number rend systématiquement 9
N.B - Ici c'est un forum sur Excel. Si tu rencontres un problème très pointu concernant le fonctionnement de Word...Je te suggère de consulter un de leurs forums.
**** Si dans ton code, tu fais référence au nom d'un fichier, le fait que les extensions des fichiers soient différen tes peut être suffisant pour générer une erreur de type 9.
L'exemple (Sub Test) fourni en début de fil ne fait référence à auc un fichier externe à la macro.
**** Si tu constates des "comportements anormaux" autres que le message d'erreur de type 9 pour laquelle je t'ai déj à fourni une explication, pourquoi ne pas nous décrire ces anomalies que tu as constatées ?
Je me répète, mais l'exemple simplissime fourni au début décrit l'anomalie que nous rencontrons.