DisplayAlerts [Résolu]

Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Dernière intervention
18 mars 2012
- - Dernière réponse : sancho12345
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Dernière intervention
18 mars 2012
- 14 mars 2010 à 11:52
Bonsoir à tous,

Pourriez-vous m?aider pour ce problème.

Le code ci-dessous me permet d'enregistrer le fichier Excel nommé import_12.xls de cet emplacement C:\Documents and Settings\toto\Bureau\import_gmao.xls et remplacer le fichier nommé
import_12_test.xls cet trouvant à cet autre emplacement \\moi\ import_12_test.xls par le fichier import_12.xls

Pendant cette procédure un écran DisplayAlerts m?avertit que le fichier existe déjà et si je veux vraiment le remplacer.

Dans l'affirmative tout ce passe bien et mon fichier import_12_test.xls et bien modifié en revanche si je repond NON alors plantage et me dit que la methode ?SaveAs?de l'objet? méthode à échoué.


'Déclaration des variables
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel
'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
        Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\toto\Bureau\import_12.xls")
    
'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)


       
             wbExcel.SaveAs "\\moi\ import_12_test.xls"
    
 wbExcel.Close 'Fermeture du classeur Excel
appExcel.Quit
'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing




Auriez-vous une idée de comment faire pour gérer le Vbyes ou le Vbno de ce DisplayAlerts


Merci
Afficher la suite 
A voir également:

Votre réponse

5 réponses

Meilleure réponse
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Dernière intervention
20 avril 2010
3
Merci
salut
'vérifier l'existence du fichier 
Dim oFSO
Set oFSO = CreateObject("Scripting.FileSystemObject")
'si le fichier existe
if oFSO.FileExists("C:\Documents and Settings\toto\Bureau\import_12.xls") = true then
'on affiche une alerte
if msgbox ("le fichier exite voulez vous continuer",vbyesno) = vbyes then
kill "C:\Documents and Settings\toto\Bureau\import_12.xls"
else
'le fichier n'existe pas tu fait ce que tu veut
end if
end if


(solution pas tester)

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de Claiyah
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Dernière intervention
18 mars 2012
0
Merci
Bonsoir à toi,


Merci pour ta réponse!

J'ai essayé ton code il fonctionne bien concernant l'existence ou non du fichier en revanche l'erreur concernant mon problème sur le DisplayAlerts d'excel,si je choisi non ou annuler (la methode ‘SaveAs’de l’objet’ méthode à échoué)est toujours là.

'Déclaration des variables

    Dim oFSO
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel


Set oFSO = CreateObject("Scripting.FileSystemObject")
'si le fichier existe
If oFSO.FileExists("C:\Documents and Settings\toto\Bureau\import_12.xls ") = True Then
'on affiche une alerte
If MsgBox("le fichier existe voulez vous continuer", vbYesNo) = vbYes Then
    Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\toto\Bureau\import_12.xls ")
'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)

'fermeture et enregistrement
'Application.DisplayAlerts = False

 wbExcel.SaveAs " \\moi\ import_12_test.xls "
  
  
  wbExcel.SaveAs " C:\Documents and Settings\toto\Bureau\import_12.xls "

  wbExcel.Close " C:\Documents and Settings\toto\Bureau\import_12.xls "
  


'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing

Else

'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing


'le fichier n'existe pas tu fait ce que tu veut
End If
End If


As-tu une idée?


Merci
Commenter la réponse de sancho12345
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Dernière intervention
20 avril 2010
0
Merci
pourquoi ta enlevé cette ligne:
elle sert a supprimer le fichier existant pour eviter l'arreur
kill "C:\Documents and Settings\toto\Bureau\import_12.xls"

!!!


Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie (mon site)
Commenter la réponse de Claiyah
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Dernière intervention
18 mars 2012
0
Merci
J'ai supprimé cette ligne car je ne veux pas supprimer le fichier(Fichier commun à un import GMAO donc il doit toujours être présent sur mon bureau)


J'ai comme même essayé avec cette ligne mais le problème est toujours le même. On supprime bien le fichier import_12.xls si on choisit oui dans le DisplayAlerts microsoft d'excel, mais si je choisi non ou annuler alors message (la méthode SaveAs objet méthode à échoué)est toujours là + plantage.

Je parle bien du DisplayAlerts microsoft d'excel et non du MsgBox("le fichier existe voulez vous continuer", vbYesNo) = vbYes


J'espère que je suis clair?

merci
Commenter la réponse de sancho12345
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Dernière intervention
18 mars 2012
0
Merci
Merci à toi pour tes conseils et ton aide

J'ai rajouté dans le code wbExcel.Application.DisplayAlerts = False et cela fonctionne comme je le veux

Voici le code fini

'Déclaration des variables

    Dim oFSO
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel


Set oFSO = CreateObject("Scripting.FileSystemObject")
'si le fichier existe
If oFSO.FileExists("C:\Documents and Settings\toto\Bureau\import_12.xls") = True Then
'on affiche une alerte
If MsgBox("le fichier exite voulez vous continuer", vbYesNo) = vbYes Then
    Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open("C:\Documents and Settings\toto\Bureau\import_12.xls")
'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)

'fermeture et enregistrement

wbExcel.Application.DisplayAlerts = False
wbExcel.SaveAs " \\moi\ import_12_test.xls"
wbExcel.Close " C:\Documents and Settings\toto\Bureau\import_12.xls"
  

'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing

MsgBox "Opération effectuée.", vbOKOnly + vbConfirmation, "Confirmation"     'Le fichier est inexistant

Else

End If

Else

MsgBox "Le fichier import_gmao n'existe pas sur votre bureau ou a été déplacé.", vbOKOnly + vbInformation, " Fichier d'import GMAO inexistant  "     'Le fichier est inexistant

End If




Bonne journée
Commenter la réponse de sancho12345

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.