J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de
fichiers plats situés dans un répertoire temporaire et qui dépose le fichier
*.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton
dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute
mais affiche un message d'erreur relié à WinZip "Error: No files were found
for this action that match your criteria - nothing to do.
(D:\Data\Test\Gen_Cubes.zip).
La macro ressemble à ceci:
Sub compresse_et_supprimeDEL()
' Compresse les fichiers T*.DEL dans un ZIP file
Application.ScreenUpdating = False
FichierTemp = Environ$("Temp")
CheminWinZip = "C:\Program Files\WinZip\"
Application.GoTo reference:="Data_Output"
Dossier_Output_Final = ActiveCell.Value
'Nom du dossier à compresser
NomArchive = Dossier_Output_Final & "\Gen_Cubes.zip"
Dossier_Output = Environ$("Temp")
QuelFichier = Dossier_Output & "\T*.del"
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la
macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour
continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si
j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la
ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie
sur <F5> pour finaliser l'exécution sans problème.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
-- Cordialement,
Jacques.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL'
dans ton code on ne voit pas où tu supprimes les
fichiers, mais si c'est le cas, la commande Shell
s'executant de manière asynchrone, cela pourrait
expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de
fichiers plats situés dans un répertoire temporaire et qui dépose le fichier
*.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton
dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute
mais affiche un message d'erreur relié à WinZip "Error: No files were found
for this action that match your criteria - nothing to do.
(D:DataTestGen_Cubes.zip).
La macro ressemble à ceci:
Sub compresse_et_supprimeDEL()
' Compresse les fichiers T*.DEL dans un ZIP file
Application.ScreenUpdating = False
FichierTemp = Environ$("Temp")
CheminWinZip = "C:Program FilesWinZip"
Application.GoTo reference:="Data_Output"
Dossier_Output_Final = ActiveCell.Value
'Nom du dossier à compresser
NomArchive = Dossier_Output_Final & "Gen_Cubes.zip"
Dossier_Output = Environ$("Temp")
QuelFichier = Dossier_Output & "T*.del"
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la
macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour
continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si
j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la
ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie
sur <F5> pour finaliser l'exécution sans problème.
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
-- Cordialement,
Jacques.
Oliv'
René Roy (sanssapm)> que je salut a écrit dans
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
essaye avec toto = CheminWinZip & "winzip32.exe -a " & NomArchive & " " _ & QuelFichier shell(toto)
ou shell(toto,1)
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
René Roy <renroy2000@yahoo.ca.(sanssapm)> que je salut a écrit dans
1384CF8D-F675-40F1-BC95-4DACE37E4A62@microsoft.com
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un
groupe de fichiers plats situés dans un répertoire temporaire et qui
dépose le fichier *.zip dans un répertoire de travail. J'ai attaché
cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro
s'exécute mais affiche un message d'erreur relié à WinZip "Error: No
files were found for this action that match your criteria - nothing
to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci:
Sub compresse_et_supprimeDEL()
' Compresse les fichiers T*.DEL dans un ZIP file
Application.ScreenUpdating = False
FichierTemp = Environ$("Temp")
CheminWinZip = "C:Program FilesWinZip"
Application.GoTo reference:="Data_Output"
Dossier_Output_Final = ActiveCell.Value
'Nom du dossier à compresser
NomArchive = Dossier_Output_Final & "Gen_Cubes.zip"
Dossier_Output = Environ$("Temp")
QuelFichier = Dossier_Output & "T*.del"
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que
j'exécute la macro jusqu'à ce point, çà va. À partir de là, si
j'appuie <F5> pour continuer l'exécution de la macro, le message
d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution
pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je
n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser
l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
essaye avec
toto = CheminWinZip & "winzip32.exe -a " & NomArchive & " " _
& QuelFichier
shell(toto)
ou shell(toto,1)
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
essaye avec toto = CheminWinZip & "winzip32.exe -a " & NomArchive & " " _ & QuelFichier shell(toto)
ou shell(toto,1)
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
René Roy
Bonjour,
Merci Jacques. J'avais épuré la présentation de ma macro afin de ne pas l'alourdir. J'ai effectivement une ligne de code qui supprime les fichiers après la ligne "Shell ...". Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) Fichiers_a_Supprimer = Dossier_Output & "T*.del" Kill Fichiers_a_Supprimer
Je viens de tester en mettant la ligne "Kill ..." en commentaire et çà fonctionne numéro #1. Comment me suggérez-vous de m'y prendre pour supprimer les fichiers sans être affecté par l'exécution asynchrone de la commande Shell ?
Encore merci.
René R.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
-- Cordialement,
Jacques.
Bonjour,
Merci Jacques. J'avais épuré la présentation de ma macro afin de ne pas
l'alourdir. J'ai effectivement une ligne de code qui supprime les fichiers
après la ligne "Shell ...".
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
Fichiers_a_Supprimer = Dossier_Output & "T*.del"
Kill Fichiers_a_Supprimer
Je viens de tester en mettant la ligne "Kill ..." en commentaire et çà
fonctionne numéro #1. Comment me suggérez-vous de m'y prendre pour supprimer
les fichiers sans être affecté par l'exécution asynchrone de la commande
Shell ?
Encore merci.
René R.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL'
dans ton code on ne voit pas où tu supprimes les
fichiers, mais si c'est le cas, la commande Shell
s'executant de manière asynchrone, cela pourrait
expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de
fichiers plats situés dans un répertoire temporaire et qui dépose le fichier
*.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton
dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute
mais affiche un message d'erreur relié à WinZip "Error: No files were found
for this action that match your criteria - nothing to do.
(D:DataTestGen_Cubes.zip).
La macro ressemble à ceci:
Sub compresse_et_supprimeDEL()
' Compresse les fichiers T*.DEL dans un ZIP file
Application.ScreenUpdating = False
FichierTemp = Environ$("Temp")
CheminWinZip = "C:Program FilesWinZip"
Application.GoTo reference:="Data_Output"
Dossier_Output_Final = ActiveCell.Value
'Nom du dossier à compresser
NomArchive = Dossier_Output_Final & "Gen_Cubes.zip"
Dossier_Output = Environ$("Temp")
QuelFichier = Dossier_Output & "T*.del"
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la
macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour
continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si
j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la
ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie
sur <F5> pour finaliser l'exécution sans problème.
Merci Jacques. J'avais épuré la présentation de ma macro afin de ne pas l'alourdir. J'ai effectivement une ligne de code qui supprime les fichiers après la ligne "Shell ...". Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) Fichiers_a_Supprimer = Dossier_Output & "T*.del" Kill Fichiers_a_Supprimer
Je viens de tester en mettant la ligne "Kill ..." en commentaire et çà fonctionne numéro #1. Comment me suggérez-vous de m'y prendre pour supprimer les fichiers sans être affecté par l'exécution asynchrone de la commande Shell ?
Encore merci.
René R.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
-- Cordialement,
Jacques.
Oliv'
Jacques93 que je salut a écrit dans
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
c'était mon idée première mais je pensais à l'impression , que l'on peut paramétrer en arrière plan ou pas Donc Il faut ajouter un temporisateur voir ici : http://frederic.sigonneau.free.fr/code/Tempos/AttendreFinMethodeShell.txt http://frederic.sigonneau.free.fr/Tempos.htm
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème. Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
Jacques93 <jacques.le-goc_ENLEVER@wanadoo.fr> que je salut a écrit dans
OULvLtnRFHA.1236@TK2MSFTNGP14.phx.gbl
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL'
dans ton code on ne voit pas où tu supprimes les
fichiers, mais si c'est le cas, la commande Shell
s'executant de manière asynchrone, cela pourrait
expliquer ce comportement.
c'était mon idée première mais je pensais à l'impression , que l'on peut
paramétrer en arrière plan ou pas
Donc Il faut ajouter un temporisateur voir ici :
http://frederic.sigonneau.free.fr/code/Tempos/AttendreFinMethodeShell.txt
http://frederic.sigonneau.free.fr/Tempos.htm
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un
groupe de fichiers plats situés dans un répertoire temporaire et qui
dépose le fichier *.zip dans un répertoire de travail. J'ai attaché
cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro
s'exécute mais affiche un message d'erreur relié à WinZip "Error: No
files were found for this action that match your criteria - nothing
to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci:
Sub compresse_et_supprimeDEL()
' Compresse les fichiers T*.DEL dans un ZIP file
Application.ScreenUpdating = False
FichierTemp = Environ$("Temp")
CheminWinZip = "C:Program FilesWinZip"
Application.GoTo reference:="Data_Output"
Dossier_Output_Final = ActiveCell.Value
'Nom du dossier à compresser
NomArchive = Dossier_Output_Final & "Gen_Cubes.zip"
Dossier_Output = Environ$("Temp")
QuelFichier = Dossier_Output & "T*.del"
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que
j'exécute la macro jusqu'à ce point, çà va. À partir de là, si
j'appuie <F5> pour continuer l'exécution de la macro, le message
d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution
pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je
n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser
l'exécution sans problème. Quelqu'un a-t'il une idée de ce qui ne va pas?
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
c'était mon idée première mais je pensais à l'impression , que l'on peut paramétrer en arrière plan ou pas Donc Il faut ajouter un temporisateur voir ici : http://frederic.sigonneau.free.fr/code/Tempos/AttendreFinMethodeShell.txt http://frederic.sigonneau.free.fr/Tempos.htm
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème. Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
Jacques93
Bonjour,
Tu peux essayer :
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell") objShell.Run TaCommande, 1, True ' ne rendra la main qu'une fois la commande terminée. MsgBox "Fini" Kill ... Set objShell = Nothing
Merci Jacques. J'avais épuré la présentation de ma macro afin de ne pas l'alourdir. J'ai effectivement une ligne de code qui supprime les fichiers après la ligne "Shell ...". Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) Fichiers_a_Supprimer = Dossier_Output & "T*.del" Kill Fichiers_a_Supprimer
Je viens de tester en mettant la ligne "Kill ..." en commentaire et çà fonctionne numéro #1. Comment me suggérez-vous de m'y prendre pour supprimer les fichiers sans être affecté par l'exécution asynchrone de la commande Shell ?
Encore merci.
René R.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.
Quelqu'un a-t'il une idée de ce qui ne va pas?
Merci de votre aide.
René R.
-- Cordialement,
Jacques.
-- Cordialement,
Jacques.
Bonjour,
Tu peux essayer :
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
objShell.Run TaCommande, 1, True ' ne rendra la main qu'une fois
la commande terminée.
MsgBox "Fini"
Kill ...
Set objShell = Nothing
Merci Jacques. J'avais épuré la présentation de ma macro afin de ne pas
l'alourdir. J'ai effectivement une ligne de code qui supprime les fichiers
après la ligne "Shell ...".
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
Fichiers_a_Supprimer = Dossier_Output & "T*.del"
Kill Fichiers_a_Supprimer
Je viens de tester en mettant la ligne "Kill ..." en commentaire et çà
fonctionne numéro #1. Comment me suggérez-vous de m'y prendre pour supprimer
les fichiers sans être affecté par l'exécution asynchrone de la commande
Shell ?
Encore merci.
René R.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL'
dans ton code on ne voit pas où tu supprimes les
fichiers, mais si c'est le cas, la commande Shell
s'executant de manière asynchrone, cela pourrait
expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de
fichiers plats situés dans un répertoire temporaire et qui dépose le fichier
*.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton
dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute
mais affiche un message d'erreur relié à WinZip "Error: No files were found
for this action that match your criteria - nothing to do.
(D:DataTestGen_Cubes.zip).
La macro ressemble à ceci:
Sub compresse_et_supprimeDEL()
' Compresse les fichiers T*.DEL dans un ZIP file
Application.ScreenUpdating = False
FichierTemp = Environ$("Temp")
CheminWinZip = "C:Program FilesWinZip"
Application.GoTo reference:="Data_Output"
Dossier_Output_Final = ActiveCell.Value
'Nom du dossier à compresser
NomArchive = Dossier_Output_Final & "Gen_Cubes.zip"
Dossier_Output = Environ$("Temp")
QuelFichier = Dossier_Output & "T*.del"
Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " &
QuelFichier)
End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la
macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour
continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si
j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la
ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie
sur <F5> pour finaliser l'exécution sans problème.
Set objShell = CreateObject("WScript.Shell") objShell.Run TaCommande, 1, True ' ne rendra la main qu'une fois la commande terminée. MsgBox "Fini" Kill ... Set objShell = Nothing
Merci Jacques. J'avais épuré la présentation de ma macro afin de ne pas l'alourdir. J'ai effectivement une ligne de code qui supprime les fichiers après la ligne "Shell ...". Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) Fichiers_a_Supprimer = Dossier_Output & "T*.del" Kill Fichiers_a_Supprimer
Je viens de tester en mettant la ligne "Kill ..." en commentaire et çà fonctionne numéro #1. Comment me suggérez-vous de m'y prendre pour supprimer les fichiers sans être affecté par l'exécution asynchrone de la commande Shell ?
Encore merci.
René R.
Bonjour,
Ta macro s'appelle 'Sub compresse_et_supprimeDEL' dans ton code on ne voit pas où tu supprimes les fichiers, mais si c'est le cas, la commande Shell s'executant de manière asynchrone, cela pourrait expliquer ce comportement.
René Roy wrote:
Bonjour à tous,
J'ai une petite macro vba qui compresse dans un fichier *.zip un groupe de fichiers plats situés dans un répertoire temporaire et qui dépose le fichier *.zip dans un répertoire de travail. J'ai attaché cette macro à un bouton dans une feuille de calcul.
Mon problème est celui-ci. Quand je clique le bouton, la macro s'exécute mais affiche un message d'erreur relié à WinZip "Error: No files were found for this action that match your criteria - nothing to do. (D:DataTestGen_Cubes.zip).
La macro ressemble à ceci: Sub compresse_et_supprimeDEL() ' Compresse les fichiers T*.DEL dans un ZIP file Application.ScreenUpdating = False FichierTemp = Environ$("Temp") CheminWinZip = "C:Program FilesWinZip" Application.GoTo reference:="Data_Output" Dossier_Output_Final = ActiveCell.Value 'Nom du dossier à compresser NomArchive = Dossier_Output_Final & "Gen_Cubes.zip" Dossier_Output = Environ$("Temp") QuelFichier = Dossier_Output & "T*.del" Shell (CheminWinZip & "winzip32.exe -a " & NomArchive & " " & QuelFichier) End Sub
Si je place un point d'arrêt sur la ligne "Shell ..." et que j'exécute la macro jusqu'à ce point, çà va. À partir de là, si j'appuie <F5> pour continuer l'exécution de la macro, le message d'erreur s'affiche. Mais si j'appuie <F8> pour suivre l'exécution pas-à-pas, alors aucun problème, la ligne "Shell..." s'exécute, je n'obtiens aucun message d'erreur et j'appuie sur <F5> pour finaliser l'exécution sans problème.