• Initiateur de la discussion Initiateur de la discussion Nicko
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Nicko

Guest
Re-salut,

J'ai une macro Aut😵pen dans le module1 de mon projet, avec une suite d'instructions qui se deroule normalement.
La ou ca coince, c'est qu'à la fin, il devrait y avoir une msgbox qui s'affiche et la, ... c'est le drame ! 😱hmy:
Pas de msgbox et la macro se termine ???? 🙁
Je comprend pas ?!
 
Pour eclaircir voici le code qui me soucis
J'ai un premier classeur Nommé 'caisse'
à l'ouverture de celui-ci, je lance l'Auto_open ci dessous.
Ca coince à partir de la ligne 33.


1-Sub auto_open()
2-Sheets('Accueil').CmdEncaissement.Enabled = True
3-Application.ScreenUpdating = False
4-Sheets('Accueil').Select
5-derligne = Range('F65536').End(xlUp).Row

6-'Ouvre le classeur Fichier Client
7- Workbooks.Open Filename:= _
8- 'C:\\Fichier Client.xls'
9- Range('A1').Select

10-'Insert la date du jour dans la feuille Stat
11- Windows('caisse.xls').Activate
12- Sheets('Stat').Select
13- Colstat = Range('A4').End(xlToRight).Column
14- Cells(3, Colstat + 1).Value = Date 'Ligne 3 Date au format jj/mm/aaaa
15- Cells(4, Colstat + 1).Select 'ligne 4 nom du jour
16- ActiveCell.FormulaR1C1 = '=R[-1]C'
17- Cells(4, Colstat + 1).Select
18- Selection.NumberFormat = 'dddd'
19- Range('A1:E1').Select
20- Cells(9, Colstat + 1).Select
21- ActiveCell.FormulaR1C1 = '=SUM(R[-4]C:R[-2]C)'
22- Range('A1').Select

23-'Cache les lignes de vente
24- Sheets('Accueil').Select
25- If derligne = 7 Then
26- Range('A1').Select
27- Exit Sub
28- Else
29- Rows('9:' & derligne).Select
30- End If
31- selection.EntireRow.Hidden = True
32- Range('A1').Select

33- If MsgBox ('Verifier si il y a des chêque à deposer aujourd'hui.', vbOKOnly, 'CONTROLE')=VBOK then
34- call Encaissement_Cheque
35- Else
36- msgbox 'Il faudra le faire !!',vbokonly
37- end if
38- end sub
 
Bonjour Nicko, Bernard, le Forum

Pour moi déjà 'Aut😵pen' est obsolète, lui préférer la macro évènementielle 'Workbook_Open' à placer dans le Private Module 'ThisWorkBook' (Voir Archives Ancien Forum à 'Aut😵pen & @+Thierry' pour plus amples informations...)


Pour ce qui est de ta ligne 33 et de ton MsgBox, ça me chiffonne pas mal aussi... Comment veux-tu qu'une Condition If / Then / Else puisse se produire si tu ne laisses qu'un seul choix de réponse à l'utilisateur (vbOKOnly)...

Je propose donc ceci :

Code:
Sub TestMsgBox()
    If MsgBox('Verifier si il y a des chêque à deposer aujourd'hui.', vbQuestion + vbYesNo, 'CONTROLE') = vbYes Then
        MsgBox 'Your Choice = Yes'
    Else
        MsgBox 'Your Choice = No'
    End If
End Sub

Maintenant pour le reste je n'ai pas trop approfondi...

Bon Aprèm
@+Thierry
 
Re

je te propose le code suivant qui me paraît le plus approprié.

A mettre en remplacement à partir de la ligne 32 :

Range('A1').Select
Choix = MsgBox('Verifier si il y a des chêque à deposer aujourd'hui.', vbYesNo, 'CONTROLE')
If Choix = 7 Then ' 6= oui et 7 = non
Call Encaissement_Cheque
Else
MsgBox 'Il faudra le faire !!', vbOKOnly
End If
End Sub

Cordialement

CBernardT
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
0
Affichages
136
Réponses
4
Affichages
460
Retour