OVH Cloud OVH Cloud

Version différente d'Excel, et macro

5 réponses
Avatar
Vince
Bonjour,

Je suis sur Excel 2000 et je viens de terminer un document contenant des
données et une série de macros en VBA avec des filtres élaborés, des mots de
passe...
Tout cela fonctionne parfaitement sur mon PC.
Comme je dois l'installer sur une version Excel 97 SR-1, j'ai sauvegardé le
document en version 97-2000 & 5.0/95.

Une fois installé sur l'autre PC, certaines macros ne fonctionnent plus
correctement, j'ai le message "la méthode advanced filter de la classe range
à échoué", ou un problème au niveau des mots de passe.

il y-a-t-il un conflit entre ces deux versions d'Excel, même si les
documents sont enregistrés en Excel 97 ?
Ou alors mes macros ne sont pas bien écrites et dans ce cas pourquoi
fonctionnent-elles sans message d'erreur sur ma version. ??

Merci d'avance pour vos réponses.

Vince

5 réponses

Avatar
michdenis
Bonjour Vince,

Les différences ne devraient pas être très grande.

Tu déverrouille ton projetVBA si c'est le cas, tu exécutes tes macros et lorsqu'excel te montre la fenêtre "Debug" tu
répond oui, il va te montrer où le code est problématique.

Salutations!


"Vince" a écrit dans le message de news:

Bonjour,

Je suis sur Excel 2000 et je viens de terminer un document contenant des
données et une série de macros en VBA avec des filtres élaborés, des mots de
passe...
Tout cela fonctionne parfaitement sur mon PC.
Comme je dois l'installer sur une version Excel 97 SR-1, j'ai sauvegardé le
document en version 97-2000 & 5.0/95.

Une fois installé sur l'autre PC, certaines macros ne fonctionnent plus
correctement, j'ai le message "la méthode advanced filter de la classe range
à échoué", ou un problème au niveau des mots de passe.

il y-a-t-il un conflit entre ces deux versions d'Excel, même si les
documents sont enregistrés en Excel 97 ?
Ou alors mes macros ne sont pas bien écrites et dans ce cas pourquoi
fonctionnent-elles sans message d'erreur sur ma version. ??

Merci d'avance pour vos réponses.

Vince
Avatar
Vince
Le problème est que je ne vois pas ce qui cloche.
Voici un exemple cette macro fonctionne parfaitement bien avec Excel 2000
mais pas avec excel 97 SR-1

Private Sub worksheet_activate()
ActiveSheet.Protect password:="nature", DrawingObjects:=True,
Contents:=True, Scenarios:=True
errorhandler: On Error Resume Next
ActiveSheet.Unprotect
If Err.Number = 1004 Then
MsgBox ("Erreur de mot de passe !")
Err.Clear
GoTo errorhandler
End If
Exit Sub
End Sub

"michdenis" wrote:

Bonjour Vince,

Les différences ne devraient pas être très grande.

Tu déverrouille ton projetVBA si c'est le cas, tu exécutes tes macros et lorsqu'excel te montre la fenêtre "Debug" tu
répond oui, il va te montrer où le code est problématique.

Salutations!


"Vince" a écrit dans le message de news:

Bonjour,

Je suis sur Excel 2000 et je viens de terminer un document contenant des
données et une série de macros en VBA avec des filtres élaborés, des mots de
passe...
Tout cela fonctionne parfaitement sur mon PC.
Comme je dois l'installer sur une version Excel 97 SR-1, j'ai sauvegardé le
document en version 97-2000 & 5.0/95.

Une fois installé sur l'autre PC, certaines macros ne fonctionnent plus
correctement, j'ai le message "la méthode advanced filter de la classe range
à échoué", ou un problème au niveau des mots de passe.

il y-a-t-il un conflit entre ces deux versions d'Excel, même si les
documents sont enregistrés en Excel 97 ?
Ou alors mes macros ne sont pas bien écrites et dans ce cas pourquoi
fonctionnent-elles sans message d'erreur sur ma version. ??

Merci d'avance pour vos réponses.

Vince





Avatar
michdenis
Bonjour Vince,

Je n'ai pas excel 97 d'installer, difficile de te donner une solution toute faite !

Sur quelle ligne de code la procédure bloque-t-elle avec excel 97 ?

Est-ce qu'excel 97 génère la boîte de dialogue demandant de saisir le mot de passe lorsque le code l'omet ?

Pour obtenir le même effet, tu peux toujours utiliser ton propre "userform" (formulaire) et tu pourras gérer directement
si le mot de passe saisi par l'usager est le bon sans passer par une gestion d'erreur.

Pour obtenir les **** dans le textbox, tu définis la propriété : PassWordChar = *


Salutations!






"Vince" a écrit dans le message de news:

Le problème est que je ne vois pas ce qui cloche.
Voici un exemple cette macro fonctionne parfaitement bien avec Excel 2000
mais pas avec excel 97 SR-1
Private Sub worksheet_activate()
ActiveSheet.Protect password:="nature", DrawingObjects:=True,
Contents:=True, Scenarios:=True
errorhandler: On Error Resume Next
ActiveSheet.Unprotect
If Err.Number = 1004 Then
MsgBox ("Erreur de mot de passe !")
Err.Clear
GoTo errorhandler
End If
Exit Sub
End Sub


"michdenis" wrote:

Bonjour Vince,

Les différences ne devraient pas être très grande.

Tu déverrouille ton projetVBA si c'est le cas, tu exécutes tes macros et lorsqu'excel te montre la fenêtre "Debug" tu
répond oui, il va te montrer où le code est problématique.

Salutations!


"Vince" a écrit dans le message de news:

Bonjour,

Je suis sur Excel 2000 et je viens de terminer un document contenant des
données et une série de macros en VBA avec des filtres élaborés, des mots de
passe...
Tout cela fonctionne parfaitement sur mon PC.
Comme je dois l'installer sur une version Excel 97 SR-1, j'ai sauvegardé le
document en version 97-2000 & 5.0/95.

Une fois installé sur l'autre PC, certaines macros ne fonctionnent plus
correctement, j'ai le message "la méthode advanced filter de la classe range
à échoué", ou un problème au niveau des mots de passe.

il y-a-t-il un conflit entre ces deux versions d'Excel, même si les
documents sont enregistrés en Excel 97 ?
Ou alors mes macros ne sont pas bien écrites et dans ce cas pourquoi
fonctionnent-elles sans message d'erreur sur ma version. ??

Merci d'avance pour vos réponses.

Vince





Avatar
Philippe.R
Bonjour Vince,
Je viens de tester sous Excel97 et pas de souci pour moi, si le résultat attendu est bien de n'ôter la
protection de la feuille que si le bon mot de passe est correctement saisi.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Vince" a écrit dans le message de news:

Le problème est que je ne vois pas ce qui cloche.
Voici un exemple cette macro fonctionne parfaitement bien avec Excel 2000
mais pas avec excel 97 SR-1

Private Sub worksheet_activate()
ActiveSheet.Protect password:="nature", DrawingObjects:=True,
Contents:=True, Scenarios:=True
errorhandler: On Error Resume Next
ActiveSheet.Unprotect
If Err.Number = 1004 Then
MsgBox ("Erreur de mot de passe !")
Err.Clear
GoTo errorhandler
End If
Exit Sub
End Sub

"michdenis" wrote:

Bonjour Vince,

Les différences ne devraient pas être très grande.

Tu déverrouille ton projetVBA si c'est le cas, tu exécutes tes macros et lorsqu'excel te montre la
fenêtre "Debug" tu
répond oui, il va te montrer où le code est problématique.

Salutations!


"Vince" a écrit dans le message de news:

Bonjour,

Je suis sur Excel 2000 et je viens de terminer un document contenant des
données et une série de macros en VBA avec des filtres élaborés, des mots de
passe...
Tout cela fonctionne parfaitement sur mon PC.
Comme je dois l'installer sur une version Excel 97 SR-1, j'ai sauvegardé le
document en version 97-2000 & 5.0/95.

Une fois installé sur l'autre PC, certaines macros ne fonctionnent plus
correctement, j'ai le message "la méthode advanced filter de la classe range
à échoué", ou un problème au niveau des mots de passe.

il y-a-t-il un conflit entre ces deux versions d'Excel, même si les
documents sont enregistrés en Excel 97 ?
Ou alors mes macros ne sont pas bien écrites et dans ce cas pourquoi
fonctionnent-elles sans message d'erreur sur ma version. ??

Merci d'avance pour vos réponses.

Vince







Avatar
Vince
Hello,

Pour répondre à la question de MichDenis, le code bloque à la ligne
ActiveSheet.Protect password:="nature"... j'ai un code d'erreur 238 si je me
rappelle, car le PC avec excel97 n'est pas ici j'essaie de résoudre le
problème à distance...)pas facile !

Pour Philippe, oui le résultat attendu et que dès qu'on active la feuille un
password est demandé, on rentre "nature" et on peut alors modifier la feuille.

Je vais voir du côté des protections.
Merci pour votre aide, je vous tiens au courant


"Philippe.R" wrote:

Bonjour Vince,
Je viens de tester sous Excel97 et pas de souci pour moi, si le résultat attendu est bien de n'ôter la
protection de la feuille que si le bon mot de passe est correctement saisi.
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Vince" a écrit dans le message de news:

Le problème est que je ne vois pas ce qui cloche.
Voici un exemple cette macro fonctionne parfaitement bien avec Excel 2000
mais pas avec excel 97 SR-1

Private Sub worksheet_activate()
ActiveSheet.Protect password:="nature", DrawingObjects:=True,
Contents:=True, Scenarios:=True
errorhandler: On Error Resume Next
ActiveSheet.Unprotect
If Err.Number = 1004 Then
MsgBox ("Erreur de mot de passe !")
Err.Clear
GoTo errorhandler
End If
Exit Sub
End Sub

"michdenis" wrote:

Bonjour Vince,

Les différences ne devraient pas être très grande.

Tu déverrouille ton projetVBA si c'est le cas, tu exécutes tes macros et lorsqu'excel te montre la
fenêtre "Debug" tu
répond oui, il va te montrer où le code est problématique.

Salutations!


"Vince" a écrit dans le message de news:

Bonjour,

Je suis sur Excel 2000 et je viens de terminer un document contenant des
données et une série de macros en VBA avec des filtres élaborés, des mots de
passe...
Tout cela fonctionne parfaitement sur mon PC.
Comme je dois l'installer sur une version Excel 97 SR-1, j'ai sauvegardé le
document en version 97-2000 & 5.0/95.

Une fois installé sur l'autre PC, certaines macros ne fonctionnent plus
correctement, j'ai le message "la méthode advanced filter de la classe range
à échoué", ou un problème au niveau des mots de passe.

il y-a-t-il un conflit entre ces deux versions d'Excel, même si les
documents sont enregistrés en Excel 97 ?
Ou alors mes macros ne sont pas bien écrites et dans ce cas pourquoi
fonctionnent-elles sans message d'erreur sur ma version. ??

Merci d'avance pour vos réponses.

Vince