Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Private Sub ComboBox2_Change()

9 réponses
Avatar
Jean-Paul V
Bonjour à tous
J’ai une macro appelant un Userform1 dont le code du bouton OK est :

Private Sub CommandButton5_Click()
Range("an").Value = SP_Annee.Value
Range("TITRE").Value = TextBox2.Value
UserForm1.Hide
Feuil1.Range("A5").Select
If Range("TEST").Value = Range("an").Value Then GoTo ZUT
Call Calendrier_2x6
If OptionButton1.Value = True Then
UserForm2.Show
Else ....
....
End If
ZUT:
UserForm1.Hide
If OptionButton1.Value = True Then
UserForm2.Show
ElseIf ....
...
End If
End Sub

1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
‘’Calendrier_2x6’’ n’est pas exécutée) la macro suivante du Userform2 ne
marche qu’un coup sur deux ( le Userform2 ne se ferme pas et la valeur du
ComboBox2 n’est pas à blanc).
2) Lorsque l’année change nous avons toujours 2 problèmes le Combobox2 reste
visible et le Userform2 ne se ferme pas ???
3) Pourquoi Userform2.Hide ne suffit pas pour fermer le ComboBox2, j’ai été
obligé d’ajouter ComboBox2.Visible = False.
NB le fichier est dans Cjoint : http://cjoint.com/?cwjFJHm8TX

Private Sub ComboBox2_Change()
Dim b As String
Dim i As String
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
Désactiver = False
On Error Resume Next
Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
Range("CHOIXM").Value = ComboBox2.Value
ComboBox2.Visible = False
UserForm2.Hide
b = ComboBox2.Value
Select Case b
Case "janvier"
Range("A4").NumberFormat = ";;;"
Call ImpressionMois
Case "février"
Call ImpressionMois
Case "mars"
Call ImpressionMois
Case "avril"
Call ImpressionMois
Case "mai"
Call ImpressionMois
Case "juin"
Call ImpressionMois
Case "juillet"
Call ImpressionMois
Case "août"
Call ImpressionMois
Case "septembre"
Call ImpressionMois
Case "octobre"
Call ImpressionMois
Case "novembre"
Call ImpressionMois
Case "décembre"
Call ImpressionMois
Case "TOUS"
Call ParMois
Case Else
Exit Sub
End Select

Désactiver = True
ComboBox2.Value = ""
UserForm2.Hide

End Sub
A + j’espère--
Jean-Paul V

9 réponses

Avatar
michdenis
| 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
| ‘’Calendrier_2x6’’ n’est pas exécutée)

*** Tu fais un test, si il y a égalité il va à zut ...Non ?
If Range("TEST").Value = Range("an").Value Then GoTo ZUT

*** En cours de procédure, si tu veux masquer le formulaire
utilise l'une de ces 2 commande après Userform1.hide
Userform1.repaint Or DoEvents
Avatar
Jean-Paul V
Bonjour Michdenis

J’ai fait les modif suivantes en vain :

Dim Désactiver As Boolean
Range("an").Value = SP_Annee.Value
Range("TITRE").Value = TextBox2.Value
UserForm1.Hide
UserForm1.Repaint
Feuil1.Range("A5").Select
If Range("TEST").Value = Range("an").Value Then GoTo ZUT
Call Calendrier_2x6
If OptionButton1.Value = True Then
UserForm2.Show
Else ....
....
End If
ZUT:
UserForm1.Hide
UserForm1.Repaint
If OptionButton1.Value = True Then
UserForm2.Show
ElseIf ....
...
End If
End Sub

J’ai les mêmes problèmes avec la macro suivante :

Private Sub ComboBox2_Change()
Dim b As String
Dim i As String
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
' If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
On Error Resume Next
Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
Range("CHOIXM").Value = ComboBox2.Value
ComboBox2.Visible = False
UserForm2.Hide
UserForm2.Repaint
b = ComboBox2.Value
Select Case b
Case "janvier"
Range("A4").NumberFormat = ";;;"
Call ImpressionMois
……..
Case Else
Exit Sub
End Select

Désactiver = True
ComboBox2.Value = ""
UserForm2.Hide
UserForm2.Repaint

End Sub

NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
Et tester la Macro avec Photo

A + j’espère

--
Jean-Paul V


"michdenis" wrote:


| 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
| ‘’Calendrier_2x6’’ n’est pas exécutée)

*** Tu fais un test, si il y a égalité il va à zut ...Non ?
If Range("TEST").Value = Range("an").Value Then GoTo ZUT

*** En cours de procédure, si tu veux masquer le formulaire
utilise l'une de ces 2 commande après Userform1.hide
Userform1.repaint Or DoEvents





Avatar
michdenis
Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !

Tu veux de l'aide.... encore faut-il t'aider




"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Bonjour Michdenis

J’ai fait les modif suivantes en vain :

Dim Désactiver As Boolean
Range("an").Value = SP_Annee.Value
Range("TITRE").Value = TextBox2.Value
UserForm1.Hide
UserForm1.Repaint
Feuil1.Range("A5").Select
If Range("TEST").Value = Range("an").Value Then GoTo ZUT
Call Calendrier_2x6
If OptionButton1.Value = True Then
UserForm2.Show
Else ....
....
End If
ZUT:
UserForm1.Hide
UserForm1.Repaint
If OptionButton1.Value = True Then
UserForm2.Show
ElseIf ....
...
End If
End Sub

J’ai les mêmes problèmes avec la macro suivante :

Private Sub ComboBox2_Change()
Dim b As String
Dim i As String
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
' If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
On Error Resume Next
Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
Range("CHOIXM").Value = ComboBox2.Value
ComboBox2.Visible = False
UserForm2.Hide
UserForm2.Repaint
b = ComboBox2.Value
Select Case b
Case "janvier"
Range("A4").NumberFormat = ";;;"
Call ImpressionMois
……..
Case Else
Exit Sub
End Select

Désactiver = True
ComboBox2.Value = ""
UserForm2.Hide
UserForm2.Repaint

End Sub

NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
Et tester la Macro avec Photo

A + j’espère

--
Jean-Paul V


"michdenis" wrote:


| 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
| ‘’Calendrier_2x6’’ n’est pas exécutée)

*** Tu fais un test, si il y a égalité il va à zut ...Non ?
If Range("TEST").Value = Range("an").Value Then GoTo ZUT

*** En cours de procédure, si tu veux masquer le formulaire
utilise l'une de ces 2 commande après Userform1.hide
Userform1.repaint Or DoEvents





Avatar
Jean-Paul V
Toutes mes excuses si je ne suis pas clair.
1) la Macro appelée lorsque l'on clic sur la zone de texte Avec Photo
s'appelle Menu
2) Cette macro ouvre le Userform1
3) Lorsque l'on fait le choix d'une impression Par mois la macro ( voir le
code du CommandButton5 OK) ferme le Userform1 et ouvre le Userform2 avec un
Combobox2 permettant de choisir quel mois on veut imprimer et c'est sur le
code du Combobox2 que nous avons le problème car une fois sur 2 le Userform2
ne souvre pas avec comme valeur du Combobox2 "" et dans ce cas après avoir
montré ce qui va s'imprimer le Userform2 une fois sur 2 ne se ferme pas .
Merci encore si vous pouvez m'aider.
NB : Les macros peuvent marcher sans photo y compris la macro Menu


--
Jean-Paul V


"michdenis" wrote:

Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !

Tu veux de l'aide.... encore faut-il t'aider




"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Bonjour Michdenis

J’ai fait les modif suivantes en vain :

Dim Désactiver As Boolean
Range("an").Value = SP_Annee.Value
Range("TITRE").Value = TextBox2.Value
UserForm1.Hide
UserForm1.Repaint
Feuil1.Range("A5").Select
If Range("TEST").Value = Range("an").Value Then GoTo ZUT
Call Calendrier_2x6
If OptionButton1.Value = True Then
UserForm2.Show
Else ....
....
End If
ZUT:
UserForm1.Hide
UserForm1.Repaint
If OptionButton1.Value = True Then
UserForm2.Show
ElseIf ....
...
End If
End Sub

J’ai les mêmes problèmes avec la macro suivante :

Private Sub ComboBox2_Change()
Dim b As String
Dim i As String
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
' If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
On Error Resume Next
Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
Range("CHOIXM").Value = ComboBox2.Value
ComboBox2.Visible = False
UserForm2.Hide
UserForm2.Repaint
b = ComboBox2.Value
Select Case b
Case "janvier"
Range("A4").NumberFormat = ";;;"
Call ImpressionMois
……..
Case Else
Exit Sub
End Select

Désactiver = True
ComboBox2.Value = ""
UserForm2.Hide
UserForm2.Repaint

End Sub

NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
Et tester la Macro avec Photo

A + j’espère

--
Jean-Paul V


"michdenis" wrote:

>
> | 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
> | ‘’Calendrier_2x6’’ n’est pas exécutée)
>
> *** Tu fais un test, si il y a égalité il va à zut ...Non ?
> If Range("TEST").Value = Range("an").Value Then GoTo ZUT
>
> *** En cours de procédure, si tu veux masquer le formulaire
> utilise l'une de ces 2 commande après Userform1.hide
> Userform1.repaint Or DoEvents
>
>
>


Avatar
michdenis
http://cjoint.com/?cwvvyEaWkF

A ) Les événements Change des contrôles Textbox ou combobox
il faut oublier ça... à moins de savoir vraiment ce que tu fais et
d'être obligé de t'en servir ... cet événement n'est pas évident à
gérer.... je te suggère fortement l'utilisation de l'événement Clic.

J'ai modifié aussi la commande Userform2.show en une fenêtre
non modale -> Userform2.show 0 à 2 endroits
dans cette procédure : Private Sub CommandButton5_Click()

Dans la même procédure, j'ai ajouté
Application.ScreenUpdating = False 'Ajouter
Call Calendrier_2x6
Application.ScreenUpdating = True 'Ajouter
et supprimer la même commande dans l'événement de la feuille

ça devrait rouler


"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Toutes mes excuses si je ne suis pas clair.
1) la Macro appelée lorsque l'on clic sur la zone de texte Avec Photo
s'appelle Menu
2) Cette macro ouvre le Userform1
3) Lorsque l'on fait le choix d'une impression Par mois la macro ( voir le
code du CommandButton5 OK) ferme le Userform1 et ouvre le Userform2 avec un
Combobox2 permettant de choisir quel mois on veut imprimer et c'est sur le
code du Combobox2 que nous avons le problème car une fois sur 2 le Userform2
ne souvre pas avec comme valeur du Combobox2 "" et dans ce cas après avoir
montré ce qui va s'imprimer le Userform2 une fois sur 2 ne se ferme pas .
Merci encore si vous pouvez m'aider.
NB : Les macros peuvent marcher sans photo y compris la macro Menu


--
Jean-Paul V


"michdenis" wrote:

Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !

Tu veux de l'aide.... encore faut-il t'aider




"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Bonjour Michdenis

J’ai fait les modif suivantes en vain :

Dim Désactiver As Boolean
Range("an").Value = SP_Annee.Value
Range("TITRE").Value = TextBox2.Value
UserForm1.Hide
UserForm1.Repaint
Feuil1.Range("A5").Select
If Range("TEST").Value = Range("an").Value Then GoTo ZUT
Call Calendrier_2x6
If OptionButton1.Value = True Then
UserForm2.Show
Else ....
....
End If
ZUT:
UserForm1.Hide
UserForm1.Repaint
If OptionButton1.Value = True Then
UserForm2.Show
ElseIf ....
...
End If
End Sub

J’ai les mêmes problèmes avec la macro suivante :

Private Sub ComboBox2_Change()
Dim b As String
Dim i As String
Dim Désactiver As Boolean
If Désactiver Then Exit Sub
' If ComboBox2.Value = "" Then Exit Sub
Désactiver = False
On Error Resume Next
Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
Range("CHOIXM").Value = ComboBox2.Value
ComboBox2.Visible = False
UserForm2.Hide
UserForm2.Repaint
b = ComboBox2.Value
Select Case b
Case "janvier"
Range("A4").NumberFormat = ";;;"
Call ImpressionMois
……..
Case Else
Exit Sub
End Select

Désactiver = True
ComboBox2.Value = ""
UserForm2.Hide
UserForm2.Repaint

End Sub

NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
Et tester la Macro avec Photo

A + j’espère

--
Jean-Paul V


"michdenis" wrote:

>
> | 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
> | ‘’Calendrier_2x6’’ n’est pas exécutée)
>
> *** Tu fais un test, si il y a égalité il va à zut ...Non ?
> If Range("TEST").Value = Range("an").Value Then GoTo ZUT
>
> *** En cours de procédure, si tu veux masquer le formulaire
> utilise l'une de ces 2 commande après Userform1.hide
> Userform1.repaint Or DoEvents
>
>
>


Avatar
Jean-Paul V
Merci michdenis

C'est mieux mais ce n'est pas parfait, car si vous demadez un mois et que
tout ce passe bien, si vous demandez à nouveau un mois le Userform2 se ferme
bien mais pas le Combobox2 ce qui est facheux car ceci nous cache
partiellement la prévisualisation de l'impression.
--
Jean-Paul V


"michdenis" a écrit :


http://cjoint.com/?cwvvyEaWkF

A ) Les événements Change des contrôles Textbox ou combobox
il faut oublier ça... à moins de savoir vraiment ce que tu fais et
d'être obligé de t'en servir ... cet événement n'est pas évident à
gérer.... je te suggère fortement l'utilisation de l'événement Clic.

J'ai modifié aussi la commande Userform2.show en une fenêtre
non modale -> Userform2.show 0 à 2 endroits
dans cette procédure : Private Sub CommandButton5_Click()

Dans la même procédure, j'ai ajouté
Application.ScreenUpdating = False 'Ajouter
Call Calendrier_2x6
Application.ScreenUpdating = True 'Ajouter
et supprimer la même commande dans l'événement de la feuille

ça devrait rouler


"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Toutes mes excuses si je ne suis pas clair.
1) la Macro appelée lorsque l'on clic sur la zone de texte Avec Photo
s'appelle Menu
2) Cette macro ouvre le Userform1
3) Lorsque l'on fait le choix d'une impression Par mois la macro ( voir le
code du CommandButton5 OK) ferme le Userform1 et ouvre le Userform2 avec un
Combobox2 permettant de choisir quel mois on veut imprimer et c'est sur le
code du Combobox2 que nous avons le problème car une fois sur 2 le Userform2
ne souvre pas avec comme valeur du Combobox2 "" et dans ce cas après avoir
montré ce qui va s'imprimer le Userform2 une fois sur 2 ne se ferme pas .
Merci encore si vous pouvez m'aider.
NB : Les macros peuvent marcher sans photo y compris la macro Menu


--
Jean-Paul V


"michdenis" wrote:

> Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !
>
> Tu veux de l'aide.... encore faut-il t'aider
>
>
>
>
> "Jean-Paul V" a écrit dans le message de groupe de
> discussion :
> Bonjour Michdenis
>
> J’ai fait les modif suivantes en vain :
>
> Dim Désactiver As Boolean
> Range("an").Value = SP_Annee.Value
> Range("TITRE").Value = TextBox2.Value
> UserForm1.Hide
> UserForm1.Repaint
> Feuil1.Range("A5").Select
> If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> Call Calendrier_2x6
> If OptionButton1.Value = True Then
> UserForm2.Show
> Else ....
> ....
> End If
> ZUT:
> UserForm1.Hide
> UserForm1.Repaint
> If OptionButton1.Value = True Then
> UserForm2.Show
> ElseIf ....
> ...
> End If
> End Sub
>
> J’ai les mêmes problèmes avec la macro suivante :
>
> Private Sub ComboBox2_Change()
> Dim b As String
> Dim i As String
> Dim Désactiver As Boolean
> If Désactiver Then Exit Sub
> ' If ComboBox2.Value = "" Then Exit Sub
> Désactiver = False
> On Error Resume Next
> Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
> Range("CHOIXM").Value = ComboBox2.Value
> ComboBox2.Visible = False
> UserForm2.Hide
> UserForm2.Repaint
> b = ComboBox2.Value
> Select Case b
> Case "janvier"
> Range("A4").NumberFormat = ";;;"
> Call ImpressionMois
> ……..
> Case Else
> Exit Sub
> End Select
>
> Désactiver = True
> ComboBox2.Value = ""
> UserForm2.Hide
> UserForm2.Repaint
>
> End Sub
>
> NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
> Et tester la Macro avec Photo
>
> A + j’espère
>
> --
> Jean-Paul V
>
>
> "michdenis" wrote:
>
> >
> > | 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
> > | ‘’Calendrier_2x6’’ n’est pas exécutée)
> >
> > *** Tu fais un test, si il y a égalité il va à zut ...Non ?
> > If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> >
> > *** En cours de procédure, si tu veux masquer le formulaire
> > utilise l'une de ces 2 commande après Userform1.hide
> > Userform1.repaint Or DoEvents
> >
> >
> >


Avatar
michdenis
http://cjoint.com/?cxnlVM4Zsq

P.S - Il y a encore place à amélioration...!
Je ne me suis pas engagé à revoir et à tester tout le code de ton projet !
Ce n'était pas l'objet de ta question.



"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Merci michdenis

C'est mieux mais ce n'est pas parfait, car si vous demadez un mois et que
tout ce passe bien, si vous demandez à nouveau un mois le Userform2 se ferme
bien mais pas le Combobox2 ce qui est facheux car ceci nous cache
partiellement la prévisualisation de l'impression.
--
Jean-Paul V


"michdenis" a écrit :


http://cjoint.com/?cwvvyEaWkF

A ) Les événements Change des contrôles Textbox ou combobox
il faut oublier ça... à moins de savoir vraiment ce que tu fais et
d'être obligé de t'en servir ... cet événement n'est pas évident à
gérer.... je te suggère fortement l'utilisation de l'événement Clic.

J'ai modifié aussi la commande Userform2.show en une fenêtre
non modale -> Userform2.show 0 à 2 endroits
dans cette procédure : Private Sub CommandButton5_Click()

Dans la même procédure, j'ai ajouté
Application.ScreenUpdating = False 'Ajouter
Call Calendrier_2x6
Application.ScreenUpdating = True 'Ajouter
et supprimer la même commande dans l'événement de la feuille

ça devrait rouler


"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Toutes mes excuses si je ne suis pas clair.
1) la Macro appelée lorsque l'on clic sur la zone de texte Avec Photo
s'appelle Menu
2) Cette macro ouvre le Userform1
3) Lorsque l'on fait le choix d'une impression Par mois la macro ( voir le
code du CommandButton5 OK) ferme le Userform1 et ouvre le Userform2 avec un
Combobox2 permettant de choisir quel mois on veut imprimer et c'est sur le
code du Combobox2 que nous avons le problème car une fois sur 2 le Userform2
ne souvre pas avec comme valeur du Combobox2 "" et dans ce cas après avoir
montré ce qui va s'imprimer le Userform2 une fois sur 2 ne se ferme pas .
Merci encore si vous pouvez m'aider.
NB : Les macros peuvent marcher sans photo y compris la macro Menu


--
Jean-Paul V


"michdenis" wrote:

> Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !
>
> Tu veux de l'aide.... encore faut-il t'aider
>
>
>
>
> "Jean-Paul V" a écrit dans le message de groupe
> de
> discussion :
> Bonjour Michdenis
>
> J’ai fait les modif suivantes en vain :
>
> Dim Désactiver As Boolean
> Range("an").Value = SP_Annee.Value
> Range("TITRE").Value = TextBox2.Value
> UserForm1.Hide
> UserForm1.Repaint
> Feuil1.Range("A5").Select
> If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> Call Calendrier_2x6
> If OptionButton1.Value = True Then
> UserForm2.Show
> Else ....
> ....
> End If
> ZUT:
> UserForm1.Hide
> UserForm1.Repaint
> If OptionButton1.Value = True Then
> UserForm2.Show
> ElseIf ....
> ...
> End If
> End Sub
>
> J’ai les mêmes problèmes avec la macro suivante :
>
> Private Sub ComboBox2_Change()
> Dim b As String
> Dim i As String
> Dim Désactiver As Boolean
> If Désactiver Then Exit Sub
> ' If ComboBox2.Value = "" Then Exit Sub
> Désactiver = False
> On Error Resume Next
> Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
> Range("CHOIXM").Value = ComboBox2.Value
> ComboBox2.Visible = False
> UserForm2.Hide
> UserForm2.Repaint
> b = ComboBox2.Value
> Select Case b
> Case "janvier"
> Range("A4").NumberFormat = ";;;"
> Call ImpressionMois
> ……..
> Case Else
> Exit Sub
> End Select
>
> Désactiver = True
> ComboBox2.Value = ""
> UserForm2.Hide
> UserForm2.Repaint
>
> End Sub
>
> NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
> Et tester la Macro avec Photo
>
> A + j’espère
>
> --
> Jean-Paul V
>
>
> "michdenis" wrote:
>
> >
> > | 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
> > | ‘’Calendrier_2x6’’ n’est pas exécutée)
> >
> > *** Tu fais un test, si il y a égalité il va à zut ...Non ?
> > If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> >
> > *** En cours de procédure, si tu veux masquer le formulaire
> > utilise l'une de ces 2 commande après Userform1.hide
> > Userform1.repaint Or DoEvents
> >
> >
> >


Avatar
Jean-Paul V
Bonjour michdenis

J'ai chargé votre dernier fichier c'est un fichier rar que j'ai décompressé
lorque je lance la Macro Avec Photo...'' Menu'' j'ai le message mémoire
pleine.
Je vais regarder les changements dans les macros...

@+ j'espère
--
Jean-Paul V


"michdenis" wrote:

http://cjoint.com/?cxnlVM4Zsq

P.S - Il y a encore place à amélioration...!
Je ne me suis pas engagé à revoir et à tester tout le code de ton projet !
Ce n'était pas l'objet de ta question.



"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Merci michdenis

C'est mieux mais ce n'est pas parfait, car si vous demadez un mois et que
tout ce passe bien, si vous demandez à nouveau un mois le Userform2 se ferme
bien mais pas le Combobox2 ce qui est facheux car ceci nous cache
partiellement la prévisualisation de l'impression.
--
Jean-Paul V


"michdenis" a écrit :

>
> http://cjoint.com/?cwvvyEaWkF
>
> A ) Les événements Change des contrôles Textbox ou combobox
> il faut oublier ça... à moins de savoir vraiment ce que tu fais et
> d'être obligé de t'en servir ... cet événement n'est pas évident à
> gérer.... je te suggère fortement l'utilisation de l'événement Clic.
>
> J'ai modifié aussi la commande Userform2.show en une fenêtre
> non modale -> Userform2.show 0 à 2 endroits
> dans cette procédure : Private Sub CommandButton5_Click()
>
> Dans la même procédure, j'ai ajouté
> Application.ScreenUpdating = False 'Ajouter
> Call Calendrier_2x6
> Application.ScreenUpdating = True 'Ajouter
> et supprimer la même commande dans l'événement de la feuille
>
> ça devrait rouler
>
>
> "Jean-Paul V" a écrit dans le message de groupe de
> discussion :
> Toutes mes excuses si je ne suis pas clair.
> 1) la Macro appelée lorsque l'on clic sur la zone de texte Avec Photo
> s'appelle Menu
> 2) Cette macro ouvre le Userform1
> 3) Lorsque l'on fait le choix d'une impression Par mois la macro ( voir le
> code du CommandButton5 OK) ferme le Userform1 et ouvre le Userform2 avec un
> Combobox2 permettant de choisir quel mois on veut imprimer et c'est sur le
> code du Combobox2 que nous avons le problème car une fois sur 2 le Userform2
> ne souvre pas avec comme valeur du Combobox2 "" et dans ce cas après avoir
> montré ce qui va s'imprimer le Userform2 une fois sur 2 ne se ferme pas .
> Merci encore si vous pouvez m'aider.
> NB : Les macros peuvent marcher sans photo y compris la macro Menu
>
>
> --
> Jean-Paul V
>
>
> "michdenis" wrote:
>
> > Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !
> >
> > Tu veux de l'aide.... encore faut-il t'aider
> >
> >
> >
> >
> > "Jean-Paul V" a écrit dans le message de groupe
> > de
> > discussion :
> > Bonjour Michdenis
> >
> > J’ai fait les modif suivantes en vain :
> >
> > Dim Désactiver As Boolean
> > Range("an").Value = SP_Annee.Value
> > Range("TITRE").Value = TextBox2.Value
> > UserForm1.Hide
> > UserForm1.Repaint
> > Feuil1.Range("A5").Select
> > If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> > Call Calendrier_2x6
> > If OptionButton1.Value = True Then
> > UserForm2.Show
> > Else ....
> > ....
> > End If
> > ZUT:
> > UserForm1.Hide
> > UserForm1.Repaint
> > If OptionButton1.Value = True Then
> > UserForm2.Show
> > ElseIf ....
> > ...
> > End If
> > End Sub
> >
> > J’ai les mêmes problèmes avec la macro suivante :
> >
> > Private Sub ComboBox2_Change()
> > Dim b As String
> > Dim i As String
> > Dim Désactiver As Boolean
> > If Désactiver Then Exit Sub
> > ' If ComboBox2.Value = "" Then Exit Sub
> > Désactiver = False
> > On Error Resume Next
> > Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
> > Range("CHOIXM").Value = ComboBox2.Value
> > ComboBox2.Visible = False
> > UserForm2.Hide
> > UserForm2.Repaint
> > b = ComboBox2.Value
> > Select Case b
> > Case "janvier"
> > Range("A4").NumberFormat = ";;;"
> > Call ImpressionMois
> > ……..
> > Case Else
> > Exit Sub
> > End Select
> >
> > Désactiver = True
> > ComboBox2.Value = ""
> > UserForm2.Hide
> > UserForm2.Repaint
> >
> > End Sub
> >
> > NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
> > Et tester la Macro avec Photo
> >
> > A + j’espère
> >
> > --
> > Jean-Paul V
> >
> >
> > "michdenis" wrote:
> >
> > >
> > > | 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
> > > | ‘’Calendrier_2x6’’ n’est pas exécutée)
> > >
> > > *** Tu fais un test, si il y a égalité il va à zut ...Non ?
> > > If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> > >
> > > *** En cours de procédure, si tu veux masquer le formulaire
> > > utilise l'une de ces 2 commande après Userform1.hide
> > > Userform1.repaint Or DoEvents
> > >
> > >
> > >



Avatar
michdenis
Sous Excel 2003, je n'ai pas ce type de message ... d'ailleurs aucun autre message.

et la difficulté que t'avais avec l'affichage des formulaires et du combobox
est disparue.

Je n'ai pas testé toute l'application et je n'ai pas l'intention de le faire.


"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Bonjour michdenis

J'ai chargé votre dernier fichier c'est un fichier rar que j'ai décompressé
lorque je lance la Macro Avec Photo...'' Menu'' j'ai le message mémoire
pleine.
Je vais regarder les changements dans les macros...

@+ j'espère
--
Jean-Paul V


"michdenis" wrote:

http://cjoint.com/?cxnlVM4Zsq

P.S - Il y a encore place à amélioration...!
Je ne me suis pas engagé à revoir et à tester tout le code de ton projet !
Ce n'était pas l'objet de ta question.



"Jean-Paul V" a écrit dans le message de groupe de
discussion :
Merci michdenis

C'est mieux mais ce n'est pas parfait, car si vous demadez un mois et que
tout ce passe bien, si vous demandez à nouveau un mois le Userform2 se ferme
bien mais pas le Combobox2 ce qui est facheux car ceci nous cache
partiellement la prévisualisation de l'impression.
--
Jean-Paul V


"michdenis" a écrit :

>
> http://cjoint.com/?cwvvyEaWkF
>
> A ) Les événements Change des contrôles Textbox ou combobox
> il faut oublier ça... à moins de savoir vraiment ce que tu fais et
> d'être obligé de t'en servir ... cet événement n'est pas évident à
> gérer.... je te suggère fortement l'utilisation de l'événement Clic.
>
> J'ai modifié aussi la commande Userform2.show en une fenêtre
> non modale -> Userform2.show 0 à 2 endroits
> dans cette procédure : Private Sub CommandButton5_Click()
>
> Dans la même procédure, j'ai ajouté
> Application.ScreenUpdating = False 'Ajouter
> Call Calendrier_2x6
> Application.ScreenUpdating = True 'Ajouter
> et supprimer la même commande dans l'événement de la feuille
>
> ça devrait rouler
>
>
> "Jean-Paul V" a écrit dans le message de groupe
> de
> discussion :
> Toutes mes excuses si je ne suis pas clair.
> 1) la Macro appelée lorsque l'on clic sur la zone de texte Avec Photo
> s'appelle Menu
> 2) Cette macro ouvre le Userform1
> 3) Lorsque l'on fait le choix d'une impression Par mois la macro ( voir le
> code du CommandButton5 OK) ferme le Userform1 et ouvre le Userform2 avec un
> Combobox2 permettant de choisir quel mois on veut imprimer et c'est sur le
> code du Combobox2 que nous avons le problème car une fois sur 2 le Userform2
> ne souvre pas avec comme valeur du Combobox2 "" et dans ce cas après avoir
> montré ce qui va s'imprimer le Userform2 une fois sur 2 ne se ferme pas .
> Merci encore si vous pouvez m'aider.
> NB : Les macros peuvent marcher sans photo y compris la macro Menu
>
>
> --
> Jean-Paul V
>
>
> "michdenis" wrote:
>
> > Écoute, je ne suis pas payé pour chercher quelle macro et où elle est !
> >
> > Tu veux de l'aide.... encore faut-il t'aider
> >
> >
> >
> >
> > "Jean-Paul V" a écrit dans le message de
> > groupe
> > de
> > discussion :
> > Bonjour Michdenis
> >
> > J’ai fait les modif suivantes en vain :
> >
> > Dim Désactiver As Boolean
> > Range("an").Value = SP_Annee.Value
> > Range("TITRE").Value = TextBox2.Value
> > UserForm1.Hide
> > UserForm1.Repaint
> > Feuil1.Range("A5").Select
> > If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> > Call Calendrier_2x6
> > If OptionButton1.Value = True Then
> > UserForm2.Show
> > Else ....
> > ....
> > End If
> > ZUT:
> > UserForm1.Hide
> > UserForm1.Repaint
> > If OptionButton1.Value = True Then
> > UserForm2.Show
> > ElseIf ....
> > ...
> > End If
> > End Sub
> >
> > J’ai les mêmes problèmes avec la macro suivante :
> >
> > Private Sub ComboBox2_Change()
> > Dim b As String
> > Dim i As String
> > Dim Désactiver As Boolean
> > If Désactiver Then Exit Sub
> > ' If ComboBox2.Value = "" Then Exit Sub
> > Désactiver = False
> > On Error Resume Next
> > Range("TITRE").Value = TextBox2.Value ‘ne marche pas ?
> > Range("CHOIXM").Value = ComboBox2.Value
> > ComboBox2.Visible = False
> > UserForm2.Hide
> > UserForm2.Repaint
> > b = ComboBox2.Value
> > Select Case b
> > Case "janvier"
> > Range("A4").NumberFormat = ";;;"
> > Call ImpressionMois
> > ……..
> > Case Else
> > Exit Sub
> > End Select
> >
> > Désactiver = True
> > ComboBox2.Value = ""
> > UserForm2.Hide
> > UserForm2.Repaint
> >
> > End Sub
> >
> > NB : Voir fichier modifier dans Cjoint : http://cjoint.com/?cwsjvKeg2E
> > Et tester la Macro avec Photo
> >
> > A + j’espère
> >
> > --
> > Jean-Paul V
> >
> >
> > "michdenis" wrote:
> >
> > >
> > > | 1 ) Pourquoi lorsque l’on est dans le cas où l’année ne change pas, (donc
> > > | ‘’Calendrier_2x6’’ n’est pas exécutée)
> > >
> > > *** Tu fais un test, si il y a égalité il va à zut ...Non ?
> > > If Range("TEST").Value = Range("an").Value Then GoTo ZUT
> > >
> > > *** En cours de procédure, si tu veux masquer le formulaire
> > > utilise l'une de ces 2 commande après Userform1.hide
> > > Userform1.repaint Or DoEvents
> > >
> > >
> > >