cs_JPh007
Messages postés37Date d'inscriptionmardi 12 août 2008StatutMembreDernière intervention17 juillet 2012
-
12 oct. 2008 à 22:37
cs_JPh007
Messages postés37Date d'inscriptionmardi 12 août 2008StatutMembreDernière intervention17 juillet 2012
-
13 oct. 2008 à 17:33
Bonjour tout le monde:
Voilà mon petit souci:
Afin de mettre un jour une feuille excel interne à mon programme VBA. J'ai fourni à la secrétaire du service la feuille correspondante afin qu'elle puisse m'envoyer la mise à jour de la base. Mon code est le suivant:
Sub CHARGEFORMULDESTI()
Application.Dialogs(xlDialogOpen).Show CStr("FORMULAIRES DESTINATAIRES")
Dim i As Integer
For i = 1 To Workbooks.Count
If Workbooks(i).Name = "FORMULAIRES DESTINATAIRES.xls" Then
MsgBox ("Le ficher est valide, la mise à jour sera effective")
Else
MsgBox ("Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES.")
End If
Next i
End Sub
Seulement voilà,
Si je n'ouvre pas le classeur en question je n'ais que le message "Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES." ce qui est logique...
Alors que si j'ouvre le fichier qui s'ouvre bien j'ai le message "Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES." qui apparait suivi enfin du message "Le ficher est valide, la mise à jour sera effective" et des actions qui suivent correctement
Pourquoi ce boeg, normalement je ne devrais voir que le message: "Le ficher est valide, la mise à jour sera effective"suivi des actions.
J'ai tenté aussi de temporiser ma macro en laissant un peu de temps au classeur de s'ouvrir avec:
Application.OnTime Now + TimeValue("00:00:05")
mais sans succés
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 13 oct. 2008 à 07:39
bonjour
ce n'est pas un bug.
en effet dans un premier temps tu as un fichier excel ouvert donc ton message qui te dit fichier non conforme
puis tu ouvres un deuxieme fichier
quand tu fais le test à nouveau
il voit d'abord le fichier non conforme puis seulement ensuite le bon fichier d'où l'apparition des deux messages
pour confirmer cette raison fais l'essai (en l'état) avec deux fichiers ouverts avant le bon et tu aura deux fois le message mauvais fichier avant d'avoir le message fichier correct
donc :
Sub CHARGEFORMULDESTI()
Application.Dialogs(xlDialogOpen).Show CStr("FORMULAIRES DESTINATAIRES")
Dim i As Integer
dim varControl as boolean
varcontrol = false
For i = 1 To Workbooks.Count
If Workbooks(i).Name = "FORMULAIRES DESTINATAIRES.xls" Then
MsgBox ("Le ficher est valide, la mise à jour sera effective")
varControl = True
Cells.Select
Selection.Copy
ActiveWindow.WindowState = xlMinimized
Sheets("FORMULAIRES DESTINATAIRES").Select
Cells.Select
ActiveSheet.Paste
Application.Run "FEUILLEDITSELECT"
Application.Run "enregistre"
Application.DisplayAlerts = False
Workbooks("FORMULAIRES DESTINATAIRES.xls").Close
Application.DisplayAlerts = True
Else
MsgBox ("Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES.")
End If
Next i
if varControl = false then
MsgBox ("Le fichier choisi n'est pas celui demandé. Veuillez chercher le classeur FORMULAIRES DESTINATAIRES.")
End Sub
ainsi le message mauvais fichier n'apparaitra qu'en fin de boucle si le bon fichier n'est pas ouvert
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE