enregistrement par macros

P

patrice

Guest
Bonjour,
Comment faire pour lors de l'enregistrement d'un fichier au cours d'une macro je ne vois pas apparaître la boite de dialogue " ce fichier existe déjà voulez vous le remplacer"
@+patrice
 
T

Thierry

Guest
Bonsoir Patrice,

Ne t'inquiète pas! Ton expérience va dépasser ses limites si tu fréquentes souvent ce forum...

Je suppose donc que tu as enregistré ta macro et que ton code donne à peu près çà :

>Sub Macro1()
>ActiveWorkbook.SaveAs Filename:="C:\Mes documents\Classeur1.xls"
>End Sub

Donc l'instruction "displayAlert = false" se place juste avant l'instruction qui va déclencher le message d'Alert... VBA fait comprendre à Excel qu'il doit "se taire" pour cette occasion!

donc çà donne çà :

Sub Macro1()
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Mes documents\Classeur3.xls"
End Sub

Afin de te donner une info complète je viens de lire l'aide et je vois :
"Si vous affectez la valeur False à cette propriété, Microsoft Excel ne restitue pas automatiquement la valeur par défaut True une fois l'exécution de la macro terminée. Votre macro doit donc systématiquement affecter la valeur True à la propriété après son exécution"...

Oups je dois avoir des centaines d'applis qui tournent sans rétablir !!!

Donc pour être clean faut faire :

Sub Macro1()
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\Mes documents\Classeur3.xls"
Application.DisplayAlerts = True
End Sub

Bon je pense que tu sauras maintenant où placer cette instruction...

BonneNuit.Application.DisplayGoodDReams = True
@+Thierry
 
P

patrice

Guest
Bonsoir Thierry,

Je te remercie pour ton aide bien qu’en fait je l’avait bien placée des le début mais apparemment ça ne fonctionnait pas. J’ais ensuite réessayer au boulot et ça a tout de suite fonctionner. La, tout content de moi je m’empresse de faire la même manipe sure le PC de ma collègue qui utilise cette macro tout les jours. Surprise !! Rien, enfin si la boite de dialogue était la, comment peut on l’expliquer alors que la macro était strictement la même vue que c’est une copie de mon fichier et que j’ai écris la même chose au même endroit. J’ai eu beau vérifier et recommencer plusieurs fois j’ai été obliger d’importer le module ce trouvant sur mon PC pour que ça fonctionne.
J’avait déjà auparavant remarque des anomalies similaires, en a tu déjà fait toi même le constat ?

Salut @+ Patrice
 
T

Thierry

Guest
Salut Patrice, Bonsoir le forum

Humm je suis sceptique.....
Analyse :
======
Si tu as importé le module et que maintenant çà fonctionne....

1) Le PC De ta collègue accepte cette macro (puisque çà marche)
2) Le fait que celà marche implique que c'est le code du module que tu as tenté de corriger qui n'est pas compilé et donc "compris" par VBA et ceci pour diverses raisons qui peuvent être :

A) Utilises-tu des macro évènementielles ? dans ce cas si on ne place pas le code dans le module qui ne correspond çà ne marche pas...
B) A l'inverse il est fort possible que tu aies le code dans un module de classeur ou dans un module de feuille (ThisWokbook ou Feuil1, Feuil2 etc dans le répertoire Microsoft Excel Object) sur le PC de ta collègue alors que tu veux lancer une routine depuis un bouton ..... Là Il faut que la macro soit dans un module standard (Module1, Module2 etc dans le répertoire Module)...
C) Ton code lui même est incomplet/Incorrect quelque part... Identifié comme "Function" et Pas "Sub"... ou autres... Faire une comparaison minitieuse des deux macros en les copiant/collant sur Word (par exemple, ou NotePad) pour les examiner en print.....
D) Le module lui-même est "vérolé"... Car le fait que la même macro fonctionne sur un module que tu importes, soit dans un nouveau module font penser à une possibilité de corruption… combien y a t'il de macros dans ce module que tu corriges ? Et des commentaires (en vert) y en a t'il bcp aussi ? Si il y a en a trop (quoique... je ne connais pas de limite connue) peut-être çà pose un problème... Si tu as d'autre macros dans ce module, ne sont-elles pas trop longue ? (style la collègue à fait tourner l'enregistreur de macro tout une journée et le roman de ces manips sur Excel sont écrite en 5000 lignes de VBA... )(lol)


Mis à part çà, je ne vois pas d'autre raison.......

Enfin parfois il y a des mystères aussi… On éteient et on recommence !! et çà marche ! C’est Windows çà !

Bonne Soirée
@+Thierry
 

Discussions similaires

T
  • Résolu(e)
Microsoft 365 pb effacement macro
Réponses
8
Affichages
371
Themax
T
Réponses
15
Affichages
988

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 605
Membres
111 217
dernier inscrit
aladinkabeya2