Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/09/2011, 15h35   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 0
Points : 0
Par défaut Problème lié à la suppression de boutons dans un onglet masqué

Bonjour tout le monde

Je vous présente toutes mes excuses de ne pas avoir appliqué les règles du forum.

J'ai besoin de votre aide si possible car j'ai du mal à trouver une solution et je ne m'en sorts pas.

Dans le cadre de mon activité professionnelle, j'ai créé un formulaire de demande de services. Tous les onglets du formulaire non utilisés sont masqués et contiennent des boutons de commandes, je souhaiterais pouvoir les supprimer lorsque le client clique sur un bouton de type "Envoyer la demande". Je sais supprimer les onglets en vba mais je rencontre un souci :

Pendant le traitement de l'envoi de la demande, une barre de progression apparaît mais disparaît vers la fin du traitement. Je précise que ce problème n'est apparut qu'après l'insertion du code permettant la suppression des onglets masqués. Autre précision, si je supprime manuellement les boutons, le problème persiste.

Ne m'en sortant pas, j'ai créé un fichier test sur lequel j'ai mis 2 boutons sur une feuille que j'ai masqué puis j'y ai intégré le code de suppression des onglets masqués. J'ai importé également ma barre de progression. Le problème est identique.
Si je retire les boutons de la feuille et que je ré-ouvre le fichier après sauvegarde, le problème n'apparaît pas.

J'espère avoir été clair dans mon exposition et si tel n'est pas le cas, n'hésitez pas à me le faire savoir.

Je vous remercie vivement par avance de l'aide que vous pourrez m'apporter.
onobyone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 12h52   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,
Pourrais-tu expliquer quel est ton problème ? Ce problème apparaît-il si tu supprimes le code lié à la barre de progression ?
Dans tous les cas, poste le code.
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 17h14   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 0
Points : 0
Bonjour,
Mon problème est que dés que je supprime un onglet contenant des boutons, la barre de progression disparait avant la fin du programme alors qu'elle devrait rester présente pour informer le client que son fichier a été enregistré. Ce dernier devrait pouvoir fermer la barre de progression en cliquant sur un bouton Fermer.
Je précise que s'il n 'y a pas de boutons sur l'onglet à supprimer, le problème ne se pose pas.
Ci-après le code :

Donc, pendant l'envoi de la demande du client au service, une barre de progression s'affiche. Ici, je ne mets qu'un bout de du code de la barre (début et fin). J'ai mis la suppression de l'onglet (call Menage) avant le lancement de la barre. Mais si je le mets ailleurs, c'est pareil.

Je vous remercie par avance pour votre aide !
Bon week end

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Public Sub Envoi_DE_HAB_SansVal()
 
'Barre de progression
 
Call Menage
 
 
Progress.Show
Progress.Caption = "1%"
Progress.Label1A.Visible = True
Progress.Repaint
 
Progress.Caption = "5%"
Progress.Repaint
 
Progress.Caption = "10%"
Progress.Label2A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
'***Ca continu jusqu'à :****
 
Progress.Label20A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "100%"
 
Progress.Label1.Visible = False
Progress.Label2.Visible = True
 
 
Progress.Encours.Visible = False
Progress.MainAttente.Visible = False
Progress.Label1.Visible = False
Progress.Label2.Visible = True
Progress.MessValOk.Visible = True
Progress.Fermer.Visible = True
Progress.MainOk.Visible = True
End Sub
Ici, je supprime l'onglet. Il est normal d'avoir la suppression des boutons ET la suppression de l'onglet après car c'était pour mes tests en desespoir de cause...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Sub Menage()
 
Application.DisplayAlerts = False
If Worksheets("Feuil2").Visible = False Then
   Worksheets("Feuil2").Visible = True
   Worksheets("Feuil2").Select
   Sheets("Feuil2").DrawingObjects.Delete
   ActiveWindow.SelectedSheets.Delete
Else: GoTo fin
End If
 
fin:
Application.DisplayAlerts = True
 
End Sub
onobyone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 14h25   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Citation:
Envoyé par onobyone Voir le message
Bonjour,
Mon problème est que dés que je supprime un onglet contenant des boutons, la barre de progression disparait avant la fin du programme alors qu'elle devrait rester présente pour informer le client que son fichier a été enregistré. Ce dernier devrait pouvoir fermer la barre de progression en cliquant sur un bouton Fermer.
Code :
1
2
3
4
5
6
7
8
9
10
11
 
Progress.Caption = "10%"
Progress.Label2A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
'***Ca continu jusqu'à :****
 
Progress.Label20A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
Il manque une partie du code; est que tu l'a fait exprès ?
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 17h34   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 0
Points : 0
Oui car j'avais peur qu'au final, il y ai une grande page mais je viens de m'apercevoir que non. Je rajoute. Merci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Public Sub Envoi_DE_HAB_SansVal()
 
'Envoi de la demande sans validation car pas de droits FRCF et/ou critiques
 
Call Menage
 
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Progress.Show
Progress.Caption = "1%"
Progress.Label1A.Visible = True
Progress.Repaint
 
Progress.Caption = "5%"
Progress.Repaint
 
Progress.Caption = "10%"
Progress.Label2A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "15%"
Progress.Repaint
 
Progress.Caption = "20%"
Progress.Label3A.Visible = True
Progress.Repaint
 
Progress.Label4A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "25%"
Progress.Label5A.Visible = True
Progress.Repaint
 
Progress.Label6A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "30%"
Progress.Label7A.Visible = True
Progress.Repaint
 
Progress.Caption = "35%"
Progress.Label8A.Visible = True
Progress.Repaint
 
Progress.Caption = "45%"
Progress.Label9A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "50%"
Progress.Label10A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "55%"
Progress.Label11A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "55%"
Progress.Label12A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "57%"
Progress.Label13A.Visible = True
Progress.Repaint
 
Progress.Label14A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "60%"
Progress.Label15A.Visible = True
Progress.Repaint
 
Progress.Caption = "75%"
Progress.Label16A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "80%"
Progress.Label17A.Visible = True
Progress.Repaint
 
Progress.Caption = "90%"
Progress.Label18A.Visible = True
Progress.Repaint
 
Progress.Caption = "95%"
Progress.Label19A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Label20A.Visible = True
Application.Wait (Now + TimeValue("0:00:01"))
Progress.Repaint
 
Progress.Caption = "100%"
 
Progress.Label1.Visible = False
Progress.Label2.Visible = True
 
 
Progress.Encours.Visible = False
Progress.MainAttente.Visible = False
Progress.Label1.Visible = False
Progress.Label2.Visible = True
Progress.MessValOk.Visible = True
Progress.Fermer.Visible = True
Progress.MainOk.Visible = True
Exit Sub
End Sub
onobyone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 18h31   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Je nage. J'aurais vraiment besoin de voir ton classeur. Est-ce que tu peux le poster ?
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 19h59   #7
Invité de passage
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 0
Points : 0
Sans problème
A ta disposition si nécessaire.
Fichiers attachés
Type de fichier : xls test.xls (52,5 Ko, 4 affichages)
onobyone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 16h29   #8
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Je passe la main à quelqu'un de plus inspiré. Je me casse les dents dessus depuis ce matin.
Désolé.
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 18h25   #9
Invité de passage
 
Inscription : octobre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 17
Points : 0
Points : 0
Ne soit désolé, merci de m'avoir aidé !
onobyone est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h23.


 
 
 
 
Partenaires

Hébergement Web