Vbyesno

  • Initiateur de la discussion jip31
  • Date de début
J

jip31

Guest
Bonjour

j'utilise le code ci-dessous pour ouvrir une boite de dial

Sub Message()
MsgBox "L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", vbYesNo + vbQuestion, "Export ACP"
If vbyes= yes Then call ACP
End If
If vbNO= yes Then exit sub
End If
End Sub


quand je clique sur yes ca doit lancer une macro et si je clique no ca doit permettre de ne pas la lancer
mais ca ne marche pas!
pouvez vous m aider svp?
 

Efgé

XLDnaute Barbatruc
Re : Vbyesno

Re
Mais ce n'est pas le seul problème:
VB:
Rep = MsgBox("L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", vbYesNo + vbQuestion, "Export ACP")
If Rep = vbYes Then Call ACP
If Rep = vbNo Then Exit Sub

Je pense qu'une visite dans l'atelier des MsgBox te plaira ;-)
Cordialement
 

Roland_M

XLDnaute Barbatruc
Re : Vbyesno

bonjour

je pense qu'il te manque une déclaration de variable variant pour la saisie avec Msgbox :

Dim ReponseMsgbox as variant

et ensuite:

ReponseMsgbox = Msgbox("..... , vbYesNo ...

et là:

if ReponseMsgbox = VbYes then ...
...
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Vbyesno

re

je pense qu'il te manque une déclaration de variable variant pour la saisie avec Msgbox :

Dim ReponseMsgbox as variant

elle n'est obligatoire que
Si... tu commences par Option Explicit et dans ce cas (passage par une variable):
Code:
Private Sub CommandButton1_Click()
  Rep = MsgBox("L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", vbYesNo + vbQuestion, "Export ACP")
  If Rep = vbYes Then MsgBox "ACP"  'Call ACP
End Sub
 
J

jip31

Guest
Re : Vbyesno

erci roland mais ca ne change rien
quand je clique sur non la macro s exécute quand même!
voici mon code

Sub ACP()

Application.DisplayAlerts = False
Application.ScreenUpdating = False

Call Message

' Récupération des données des appels entrants
ChDir "\\W2008-3120-102\dataacp\Reporting Server Attached Files\Support CP COM"
Workbooks.Open Filename:= _
"\\W2008-3120-102\dataacp\Reporting Server Attached Files\Support CP COM\ROSSE JP_Appels entrants.xlsx"
Cells.Select
Selection.Copy
Windows("Statistiques ACP.xlsm").Activate
Sheets("Appels entrants").Select
Cells.Select
Sheets("Appels entrants").Paste
Windows("ROSSE JP_Appels entrants.xlsx").Activate
ActiveWindow.Close

' Récupération des données des appels entrants répondus
Workbooks.Open Filename:= _
"\\W2008-3120-102\dataacp\Reporting Server Attached Files\Support CP COM\ROSSE JP_Appels entrants répondus.xlsx"
Cells.Select
Selection.Copy
Windows("Statistiques ACP.xlsm").Activate
Sheets("Appels entrants répondus").Select
Cells.Select
Sheets("Appels entrants répondus").Paste
Windows("ROSSE JP_Appels entrants répondus.xlsx").Activate
ActiveWindow.Close

' Récupération des données des appels entrants perdus
Workbooks.Open Filename:= _
"\\W2008-3120-102\dataacp\Reporting Server Attached Files\Support CP COM\ROSSE JP_Appels entrants perdus.xlsx"
Cells.Select
Selection.Copy
Windows("Statistiques ACP.xlsm").Activate
Sheets("Appels entrants perdus").Select
Cells.Select
Sheets("Appels entrants perdus").Paste
Windows("ROSSE JP_Appels entrants perdus.xlsx").Activate
ActiveWindow.Close

' Récupération des stats générales
Workbooks.Open Filename:= _
"\\W2008-3120-102\dataacp\Reporting Server Attached Files\Support CP COM\ROSSE JP_Appels entrants (statistique générale).xlsx"
Cells.Select
Selection.Copy
Windows("Statistiques ACP.xlsm").Activate
Sheets("Appels entrants (statistique)").Select
Cells.Select
Sheets("Appels entrants (statistique)").Paste
Windows("ROSSE JP_Appels entrants (statistique générale).xlsx").Activate
ActiveWindow.Close

' Récupération des graphes
Workbooks.Open Filename:= _
"\\W2008-3120-102\dataacp\Reporting Server Attached Files\Support CP COM\ROSSE JP_Appels entrants (graphique).xlsx"
Cells.Select
Selection.Copy
Windows("Statistiques ACP.xlsm").Activate
Sheets("Appels entrants (graphique)").Select
Cells.Select
Sheets("Appels entrants (graphique)").Paste
Windows("ROSSE JP_Appels entrants (graphique).xlsx").Activate
ActiveWindow.Close

' Sélection de la feuille
Sheets("Synthèse").Select

' Enregistrement classeur
ActiveWorkbook.Save

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

Private Sub Auto_Open()
Call ACP
End Sub

Sub Message()
Dim RepMsgbox As Variant
Rep = MsgBox("L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", vbYesNo + vbQuestion, "Export ACP")
If Rep = vbYes Then Call ACP
If Rep = vbNo Then Exit Sub
End Sub


merci
 

Efgé

XLDnaute Barbatruc
Re : Vbyesno

Re à tous
Avec ton code tu Exit sub de la sub Message.....
Donc
VB:
Public RepMsgbox As Variant
Private Sub Auto_Open()
Call ACP
End Sub
Te permets d'utiliser une variable partout dans les modules (a mettre en tête de module, avant la première ligne)
Ensuite ton code message deviens
VB:
Sub Message()
RepMsgbox = MsgBox("L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", vbYesNo + vbQuestion, "Export ACP")
End Sub

Ensuite le début du code ACP
VB:
Sub ACP()

Call Message

If RepMsgbox = vbNo Then Exit Sub

Application.DisplayAlerts = False
Application.ScreenUpdating = False



'La suite......

Il faut vérifier si l'on continu avant de désactiver le calcul

Cordialement
 

Si...

XLDnaute Barbatruc
Re : Vbyesno

re

mais quel est l'intérêt de passer par une autre macro (Call Message) ?
Je ferais directement
Code:
Sub ACP()

Application.DisplayAlerts = False
Application.ScreenUpdating = False

If MsgBox("L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", 36, "Export ACP") = 7 Then Exit Sub

' Récupération des données des appels entrants
...
 

Efgé

XLDnaute Barbatruc
Re : Vbyesno

re

mais quel est l'intérêt de passer par une autre macro (Call Message) ?
Je ferais directement
Code:
Sub ACP()

Application.DisplayAlerts = False
Application.ScreenUpdating = False

If MsgBox("L'export ACP du " & Date - 1 & " va démarrer, voulez-vous continuer? ", 36, "Export ACP") = 7 Then Exit Sub

' Récupération des données des appels entrants
...

Je suis d'accord avec toi, Si..... on sort Avant de désactiver les alertes :D

Cordialement
 

Statistiques des forums

Discussions
312 165
Messages
2 085 883
Membres
103 013
dernier inscrit
cicro