Bonjour,
J'ai un bouton de controle qui me permet de cr=E9er un fichier Excel
(macro "Transf=E9rerFeuilleCalcul"sur clic). le probl=E8me c'est que si on
appuie une 2=B0 fois sur ce bouton, les nouvelles donn=E9es vont venir
s'=E9crire sur le 1er fichier.
J'ai fait : Private Sub Form_Load()
On Error Resume Next
Kill "D:\Baf\*.XLS"
Mais je constate que c'est loin d'etre suffisant ...
Comment faire pour tester si des fichiers excel sont ouverts et
demander =E0 l'utilisateur de les fermer avant de faire un kill...? (je
suis preneur de toutes propositions...)
merci d'avance
Eric
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
3stone
Salut,
J'ai un bouton de controle qui me permet de créer un fichier Excel (macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on appuie une 2° fois sur ce bouton, les nouvelles données vont venir s'écrire sur le 1er fichier. J'ai fait : Private Sub Form_Load() On Error Resume Next Kill "D:Baf*.XLS" Mais je constate que c'est loin d'etre suffisant ... Comment faire pour tester si des fichiers excel sont ouverts et demander à l'utilisateur de les fermer avant de faire un kill...? (je suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API : http://www.mvps.org/accessfr/apis/api0007.htm
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
J'ai un bouton de controle qui me permet de créer un fichier Excel
(macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on
appuie une 2° fois sur ce bouton, les nouvelles données vont venir
s'écrire sur le 1er fichier.
J'ai fait : Private Sub Form_Load()
On Error Resume Next
Kill "D:Baf*.XLS"
Mais je constate que c'est loin d'etre suffisant ...
Comment faire pour tester si des fichiers excel sont ouverts et
demander à l'utilisateur de les fermer avant de faire un kill...? (je
suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :
http://www.mvps.org/accessfr/apis/api0007.htm
ou alors par automation...
On Error Resume Next
Set Excel_Application = GetObject(, "Excel.Application")
If Err.Number = 0 Then
Msgbox "Excel déjà ouvert..."
...
exit sub
else
Set Excel_Application = CreateObject("Excel.Application")
End If
Err.Clear
J'ai un bouton de controle qui me permet de créer un fichier Excel (macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on appuie une 2° fois sur ce bouton, les nouvelles données vont venir s'écrire sur le 1er fichier. J'ai fait : Private Sub Form_Load() On Error Resume Next Kill "D:Baf*.XLS" Mais je constate que c'est loin d'etre suffisant ... Comment faire pour tester si des fichiers excel sont ouverts et demander à l'utilisateur de les fermer avant de faire un kill...? (je suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API : http://www.mvps.org/accessfr/apis/api0007.htm
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
J'ai un bouton de controle qui me permet de créer un fichier Excel (macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on appuie une 2° fois sur ce bouton, les nouvelles données vont venir s'écrire sur le 1er fichier. J'ai fait : Private Sub Form_Load() On Error Resume Next Kill "D:Baf*.XLS" Mais je constate que c'est loin d'etre suffisant ... Comment faire pour tester si des fichiers excel sont ouverts et demander à l'utilisateur de les fermer avant de faire un kill...? (je suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :http://www.mvps.org/accessfr/apis/api0007 .htm
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
-- A+ Pierre (3stone) Access MVP Perso:http://www.3stone.be/ MPFA:http://www.mpfa.info/ (infos générales)
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit fermé ou ouvert, la condition if est toujours vérifié, autrement dit, j'ai toujours le message "Excel déjà ouvert..." J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
On 12 mar, 03:03, "3stone" <home@sweet_home.be> wrote:
Salut,
J'ai un bouton de controle qui me permet de créer un fichier Excel
(macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on
appuie une 2° fois sur ce bouton, les nouvelles données vont venir
s'écrire sur le 1er fichier.
J'ai fait : Private Sub Form_Load()
On Error Resume Next
Kill "D:Baf*.XLS"
Mais je constate que c'est loin d'etre suffisant ...
Comment faire pour tester si des fichiers excel sont ouverts et
demander à l'utilisateur de les fermer avant de faire un kill...? (je
suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :http://www.mvps.org/accessfr/apis/api0007 .htm
ou alors par automation...
On Error Resume Next
Set Excel_Application = GetObject(, "Excel.Application")
If Err.Number = 0 Then
Msgbox "Excel déjà ouvert..."
...
exit sub
else
Set Excel_Application = CreateObject("Excel.Application")
End If
Err.Clear
--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit
fermé ou ouvert, la condition if est toujours vérifié, autrement dit,
j'ai toujours le message "Excel déjà ouvert..."
J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
J'ai un bouton de controle qui me permet de créer un fichier Excel (macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on appuie une 2° fois sur ce bouton, les nouvelles données vont venir s'écrire sur le 1er fichier. J'ai fait : Private Sub Form_Load() On Error Resume Next Kill "D:Baf*.XLS" Mais je constate que c'est loin d'etre suffisant ... Comment faire pour tester si des fichiers excel sont ouverts et demander à l'utilisateur de les fermer avant de faire un kill...? (je suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :http://www.mvps.org/accessfr/apis/api0007 .htm
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
-- A+ Pierre (3stone) Access MVP Perso:http://www.3stone.be/ MPFA:http://www.mpfa.info/ (infos générales)
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit fermé ou ouvert, la condition if est toujours vérifié, autrement dit, j'ai toujours le message "Excel déjà ouvert..." J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
eric.zzzz
On 12 mar, 03:03, "3stone" wrote:
Salut, ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
J'ai trouvé cette solution...(j'espère qu'elle s'avérera être bonne) Dim MyFile MyFile = Dir("D:BafFic1.XLS") If MyFile = "Fic1.xls" Then MsgBox "Supprimer Excel dans D:Baf...", vbOKOnly Exit Sub End If
On 12 mar, 03:03, "3stone" <home@sweet_home.be> wrote:
Salut,
ou alors par automation...
On Error Resume Next
Set Excel_Application = GetObject(, "Excel.Application")
If Err.Number = 0 Then
Msgbox "Excel déjà ouvert..."
...
exit sub
else
Set Excel_Application = CreateObject("Excel.Application")
End If
Err.Clear
J'ai trouvé cette solution...(j'espère qu'elle s'avérera être bonne)
Dim MyFile
MyFile = Dir("D:BafFic1.XLS")
If MyFile = "Fic1.xls" Then
MsgBox "Supprimer Excel dans D:Baf...", vbOKOnly
Exit Sub
End If
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
J'ai trouvé cette solution...(j'espère qu'elle s'avérera être bonne) Dim MyFile MyFile = Dir("D:BafFic1.XLS") If MyFile = "Fic1.xls" Then MsgBox "Supprimer Excel dans D:Baf...", vbOKOnly Exit Sub End If
Michel_D
Bonjour,
On 12 mar, 03:03, "3stone" wrote:
Salut,
J'ai un bouton de controle qui me permet de créer un fichier Excel (macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on appuie une 2° fois sur ce bouton, les nouvelles données vont venir s'écrire sur le 1er fichier. J'ai fait : Private Sub Form_Load() On Error Resume Next Kill "D:Baf*.XLS" Mais je constate que c'est loin d'etre suffisant ... Comment faire pour tester si des fichiers excel sont ouverts et demander à l'utilisateur de les fermer avant de faire un kill...? (je suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :http://www.mvps.org/accessfr/apis/api0007..htm
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
-- A+ Pierre (3stone) Access MVP Perso:http://www.3stone.be/ MPFA:http://www.mpfa.info/ (infos générales)
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit fermé ou ouvert, la condition if est toujours vérifié, autrement dit, j'ai toujours le message "Excel déjà ouvert..." J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
Hum, je pense qu'il devait y avoir une instance Excel ouverte mais invisible, pour être sur il faut utiliser le gestionnaire des taches ou un utilitaire du style "process explorer"
Bonjour,
On 12 mar, 03:03, "3stone" <home@sweet_home.be> wrote:
Salut,
J'ai un bouton de controle qui me permet de créer un fichier Excel
(macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on
appuie une 2° fois sur ce bouton, les nouvelles données vont venir
s'écrire sur le 1er fichier.
J'ai fait : Private Sub Form_Load()
On Error Resume Next
Kill "D:Baf*.XLS"
Mais je constate que c'est loin d'etre suffisant ...
Comment faire pour tester si des fichiers excel sont ouverts et
demander à l'utilisateur de les fermer avant de faire un kill...? (je
suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :http://www.mvps.org/accessfr/apis/api0007..htm
ou alors par automation...
On Error Resume Next
Set Excel_Application = GetObject(, "Excel.Application")
If Err.Number = 0 Then
Msgbox "Excel déjà ouvert..."
...
exit sub
else
Set Excel_Application = CreateObject("Excel.Application")
End If
Err.Clear
--
A+
Pierre (3stone) Access MVP
Perso:http://www.3stone.be/
MPFA:http://www.mpfa.info/ (infos générales)
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit
fermé ou ouvert, la condition if est toujours vérifié, autrement dit,
j'ai toujours le message "Excel déjà ouvert..."
J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
Hum, je pense qu'il devait y avoir une instance Excel ouverte mais
invisible, pour être sur il faut utiliser le gestionnaire des taches
ou un utilitaire du style "process explorer"
J'ai un bouton de controle qui me permet de créer un fichier Excel (macro "TransférerFeuilleCalcul"sur clic). le problème c'est que si on appuie une 2° fois sur ce bouton, les nouvelles données vont venir s'écrire sur le 1er fichier. J'ai fait : Private Sub Form_Load() On Error Resume Next Kill "D:Baf*.XLS" Mais je constate que c'est loin d'etre suffisant ... Comment faire pour tester si des fichiers excel sont ouverts et demander à l'utilisateur de les fermer avant de faire un kill...? (je suis preneur de toutes propositions...)
Il y a ceci, à l'aide des API :http://www.mvps.org/accessfr/apis/api0007..htm
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
-- A+ Pierre (3stone) Access MVP Perso:http://www.3stone.be/ MPFA:http://www.mpfa.info/ (infos générales)
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit fermé ou ouvert, la condition if est toujours vérifié, autrement dit, j'ai toujours le message "Excel déjà ouvert..." J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
Hum, je pense qu'il devait y avoir une instance Excel ouverte mais invisible, pour être sur il faut utiliser le gestionnaire des taches ou un utilitaire du style "process explorer"
3stone
Salut,
[..]
ou alors par automation...
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit fermé ou ouvert, la condition if est toujours vérifié, autrement dit, j'ai toujours le message "Excel déjà ouvert..." J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
---
On Error Resume Next - dit de passer à la ligne suivante en cas d'erreur...
Set Excel_Application = GetObject(...) - retourne une erreur si Excel n'est *pas* démarré
On Error Resume Next
Set Excel_Application = GetObject(, "Excel.Application")
If Err.Number = 0 Then
Msgbox "Excel déjà ouvert..."
...
exit sub
else
Set Excel_Application = CreateObject("Excel.Application")
End If
Err.Clear
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit
fermé ou ouvert, la condition if est toujours vérifié, autrement dit,
j'ai toujours le message "Excel déjà ouvert..."
J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
---
On Error Resume Next
- dit de passer à la ligne suivante en cas d'erreur...
Set Excel_Application = GetObject(...)
- retourne une erreur si Excel n'est *pas* démarré
On Error Resume Next Set Excel_Application = GetObject(, "Excel.Application") If Err.Number = 0 Then Msgbox "Excel déjà ouvert..." ... exit sub else Set Excel_Application = CreateObject("Excel.Application") End If Err.Clear
Je ne sais pas ce que signifie "Err.Number = 0", mais qu'Excel soit fermé ou ouvert, la condition if est toujours vérifié, autrement dit, j'ai toujours le message "Excel déjà ouvert..." J'ai fait F1 sur Err.Number, mais je n'ai pas compris...
---
On Error Resume Next - dit de passer à la ligne suivante en cas d'erreur...
Set Excel_Application = GetObject(...) - retourne une erreur si Excel n'est *pas* démarré
Hum, je pense qu'il devait y avoir une instance Excel ouverte mais invisible, pour être sur il faut utiliser le gestionnaire des taches ou un utilitaire du style "process explorer"-
Effectivement, le processus EXCEL.EXE était tjrs présent dans la liste des taches. En le terminant (avec CTrl+alt+Suppr), le code n'entrait pas dans la boucle IF ...
On 12 mar, 19:01, Michel_D <Michel.NOS...@orange-ft.com.invalid>
wrote:
Hum, je pense qu'il devait y avoir une instance Excel ouverte mais
invisible, pour être sur il faut utiliser le gestionnaire des taches
ou un utilitaire du style "process explorer"-
Effectivement, le processus EXCEL.EXE était tjrs présent dans la liste
des taches. En le terminant (avec CTrl+alt+Suppr), le code n'entrait
pas dans la boucle IF ...
Hum, je pense qu'il devait y avoir une instance Excel ouverte mais invisible, pour être sur il faut utiliser le gestionnaire des taches ou un utilitaire du style "process explorer"-
Effectivement, le processus EXCEL.EXE était tjrs présent dans la liste des taches. En le terminant (avec CTrl+alt+Suppr), le code n'entrait pas dans la boucle IF ...