Problème fermeture de fichier excel en VB
soyanlo
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
-Shadow- Messages postés 2152 Date d'inscription Statut Membre Dernière intervention -
-Shadow- Messages postés 2152 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je fait un programme qui copie/modifie/crée des fichers. Tous fonctionne parfaitement mais je doit tout le temps faire des Ctrl+Alt+Suppr puis gestionnaire de tache et killer le processus excel.
Voici le message d'erreur :
Le processus ne peut pas accéder au fichier 'D:\Partage\....xls', car il est en cours d'utilisation par un autre processus.
Et voici un bout de la fonction qui écrit/modifie le fichier :
Public Sub écrire()
Dim sheet As Object
Dim exldoc As Object
Dim exlapp As Object
Dim datedujour As String
datedujour = Format(Now, "dd-MM-yyyy")
exlapp = CreateObject("excel.application")
If Creer.txtmode.Text = 1 Then
exldoc = exlapp.workbooks.Open(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "source") & "_" & datedujour & ".xls")
End If
If Creer.txtmode.Text = 2 Then
exldoc = exlapp.workbooks.Open(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "Dossier") & Modifier.ListBox1.SelectedItem)
End If
sheet = exlapp.ActiveWorkbook.ActiveSheet
\\traitements
exldoc.close()
exlapp.quit()
exlapp = Nothing
exldoc = Nothing
End Sub
Je pensais régler le problème avec exldoc.close() mais ce n'est pas la cas
Voici la partie qui appelle la procédure :
If Dir(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "source") & ".xls", vbHidden) <> "" Then
FileCopy(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "source") & ".xls", INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "Dossier") & Modifier.ListBox1.SelectedItem)
écrire()
MsgBox("Déclaration enregistrée")
End If
Merci de votre aide
Je fait un programme qui copie/modifie/crée des fichers. Tous fonctionne parfaitement mais je doit tout le temps faire des Ctrl+Alt+Suppr puis gestionnaire de tache et killer le processus excel.
Voici le message d'erreur :
Le processus ne peut pas accéder au fichier 'D:\Partage\....xls', car il est en cours d'utilisation par un autre processus.
Et voici un bout de la fonction qui écrit/modifie le fichier :
Public Sub écrire()
Dim sheet As Object
Dim exldoc As Object
Dim exlapp As Object
Dim datedujour As String
datedujour = Format(Now, "dd-MM-yyyy")
exlapp = CreateObject("excel.application")
If Creer.txtmode.Text = 1 Then
exldoc = exlapp.workbooks.Open(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "source") & "_" & datedujour & ".xls")
End If
If Creer.txtmode.Text = 2 Then
exldoc = exlapp.workbooks.Open(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "Dossier") & Modifier.ListBox1.SelectedItem)
End If
sheet = exlapp.ActiveWorkbook.ActiveSheet
\\traitements
exldoc.close()
exlapp.quit()
exlapp = Nothing
exldoc = Nothing
End Sub
Je pensais régler le problème avec exldoc.close() mais ce n'est pas la cas
Voici la partie qui appelle la procédure :
If Dir(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "source") & ".xls", vbHidden) <> "" Then
FileCopy(INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "source") & ".xls", INI_GetCle(Application.StartupPath & "\Declaration.ini", "fichier", "Dossier") & Modifier.ListBox1.SelectedItem)
écrire()
MsgBox("Déclaration enregistrée")
End If
Merci de votre aide
A voir également:
- Problème fermeture de fichier excel en VB
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
3 réponses
Salut,
théoriquement tu devrais essayer la procédure End pour arrêter le script.
Sinon en VBS c'est WScript.Quit() , à toi de voir :D
théoriquement tu devrais essayer la procédure End pour arrêter le script.
Sinon en VBS c'est WScript.Quit() , à toi de voir :D
Salut,
Le problème est que je veux que l"utilisateur puisse continuer d'utiliser le programme, End ferme tout.
Par exemple il créée le rapport mais décide de ne pas l'envoyer, il l'enregistre (donc création du fichier, modification du fichier) et décide de l'envoyer (retourne sur le fichier et envoi du fichier).
Si je met End ça deviens très énervant xD
Le problème a lieu lorsque la personne décide de retourner sur le fichier pour l'envoyer (vu que le processus est toujours la)
Merci
Le problème est que je veux que l"utilisateur puisse continuer d'utiliser le programme, End ferme tout.
Par exemple il créée le rapport mais décide de ne pas l'envoyer, il l'enregistre (donc création du fichier, modification du fichier) et décide de l'envoyer (retourne sur le fichier et envoi du fichier).
Si je met End ça deviens très énervant xD
Le problème a lieu lorsque la personne décide de retourner sur le fichier pour l'envoyer (vu que le processus est toujours la)
Merci