Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
653 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Ma macro s'arrète sans raisons / Sub pour fermer et écraser 1 fichier

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ma macro s'arrète sans raisons / Sub pour fermer et écraser 1 fichier

n°2087717
clent2
Posté le 06-07-2011 à 18:18:32  profilanswer
 

Bonjour à tous,
 
Pourriez-vous svp m'apporter un éclaircissement sur un problème que je rencontre ??? A savoir :
 
J'ai développé une procédure de création de sauvegardes temporaires (TEMP_nomfichier.xls) d'un fichier (nomfichier.xls) via la méthode 'savecopyas'.
Le but est de récupérer cette sauvegarde et d'écraser le fichier d'origine en cas de demande de l'utilisateur (En bref, un retour à l'état dans lequel était le fichier lors de la sauvegarde temporaire). + même principe pour sauvegarde BackUp...
 
Je pense avoir "toutes les billes" en main pour développer cette fonction mais je fais fasse à une situation que je ne comprends pas vraiment... Donc voici mon code + commentaires pour plus de clarté :
 
___________________
BLOC 1 - 'définition des noms de fichiers
Dim oldFname As String
Dim newFname As String
oldFname = ActiveWorkbook.Name
newFname = "TEMP_" & ActiveWorkbook.Name
 
BLOC 2 - 'fermer un formulaire laissant 2 options de récupération: sauvegarde temporaire(utilisateur) ou BackUp(auto)
Call hideform3
 
BLOC 3 - 'j'appelle/ouvre mon fichier TEMP_nomfichier.xls
Workbooks.Open Filename:="P:\...\sauvegarde temp\" & newFname
 
BLOC 4 - 'je ferme mon fichier nomfichier.xls (sans quoi je ne pourrais pas l'écraser)
Workbooks(oldFname).Close savechanges:=False
 
BLOC 5 - 'j'écrase (en force) nomfichier.xls par TEMP_nomfichier.xls
Application.DisplayAlerts = False
Workbooks(newFname).SaveAs Filename:="P:\...\Base SCAME\" & oldFname
Application.DisplayAlerts = True
___________________
 
Quand je cherche à exécuter cette macro, celle-ci semble s'arrêter avant la fin sans aucun message d'erreur... Vraisemblablement, elle s'arrête après exécution du BLOC 4.
 
En supprimant le bloc 4 et en modifiant le bloc 5 comme suit :
Workbooks(newFname).SaveAs Filename:="P:\...\Base SCAME\" & "test" & oldFname
J'ai pu vérifier que sur le principe le code devrait fonctionner.
 
Ayant développé mon code directement dans un module de ma feuille xls au début, j'ai cru qu'elle s'arrêtait en raison de la fermeture du fichier qui contient la macro. J'ai donc tout migré vers des macros complémentaires .xla ce qui ne résout malheureusement pas le problème. (Bien que cela soit tout de même utile pour d'autres raisons)
 
J'ai également essayer de penser à d'autres astuces pour arriver au même résultat mais je séche un peu et je manque de temps pour finir ce développement...  
Aussi, il ne me reste plus que vous ...!!!  
 
Merci d'avance pour votre aide.
 
N.B: Je précise les quelques points suivants qui pourrait peut-être avoir une importance...  
- je travaille dans des répertoires d'un serveur (droit ok / vérifié) et Excel execution locale
- mon répertoire sauvegarde temp est caché
- le nom du fichier peut évoluer (d'où les activeworkbook.name)

 

mood
Publicité
Posté le 06-07-2011 à 18:18:32  profilanswer
 

n°2087831
clent2
Posté le 07-07-2011 à 09:59:10  profilanswer
 

info complémentaire... Je n'avais pas essayé jusqu'à présent mais ce code fonctionne très bien si exécuté en mode 'pas à pas' ....
 
Est-ce possible que ça aille trop vite ???


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Ma macro s'arrète sans raisons / Sub pour fermer et écraser 1 fichier

 

Sujets relatifs
Ouvrir un fichier TXT dont on ne connait pas le nom... [.Net] Lire un fichier config Settings
Renomer fichier en bashComparer 2 listes dans 2 onglets via macro VBA (Excel 2007)
Execution d'une Macro Access a partir d'un code C#[ C# ] Externaliser fichier resource
[Résolu] Affectation de variable/Macro copier coller ExcelFile_put_contents ne crée pas de fichier
Trie par ordre alphabetique ligne fichier txtCommande awk pour extraire des blocs d'un fichier + regexp sur lignes
Plus de sujets relatifs à : Ma macro s'arrète sans raisons / Sub pour fermer et écraser 1 fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR