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

Appel de procédure non valide?

10 réponses
Avatar
STEN
Bonjour, dans un usf j'ai associ=E9 du code pour la=20
validation de boutons d'options (code que j'ai trouv=E9 sur=20
ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est=20
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) =3D "OptionButton" Then
Select Case C.Value
Case True
Feuille =3D Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez s=E9lectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C =3D Nothing

10 réponses

Avatar
michdenis
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!





"STEN" a écrit dans le message de news:7b6e01c43159$74cb7e00$
Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé sur
ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing
Avatar
STEN
-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me met:

Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé sur
ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.



Avatar
michdenis
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!


"STEN" a écrit dans le message de news:7bda01c43164$0c03c200$

-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me met:

Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé sur
ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.



Avatar
STEN
-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Merci Michel t'est un vrai pro!

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




Avatar
STEN
-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Salut Michel c'est encore moi avec mes problèmes,j'ai
sur mon usf deux type de cases des Boutons d'options et

des Cases à cocher, les uns servent à envoyer une seule
impression à la fois et les autres (CheckBox) pour
envoyer une impression multiple, hors j'ai appliqué la
même procédure pour les deux boutons OK en changeant le
TypeName mais quand je sélectionne plusieurs CheckBox une
seule feuille et envoyée vers l'imprimante ?
Que dois-je faire?
Encore mille merci pour ta patience.

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




Avatar
michdenis
Bonjour Sten,


Voici une procédure qui devrait fonctionner !

J'ai supposé que les noms de tes contrôles "CheckBox" avait la même structure que les noms de tes Bouton radio.

Les 3 premières lettres servant à identifier le type de contrôle comme : Chk , suivi du nom d'une feuille comme par
exemple Feuil1.
Le résultat serait alors ChkFeuil1 et ainsi de suite pour tous les contrôles "CheckBox" .


'-------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len(C.Name) - 3)
End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
For A = 1 To UBound(LesFeuilles)
Worksheets(LesFeuilles(A)).Select Replace:úlse
Next

'La commande pour imprimer toutes les feuilles sélectionnées
ActiveWindow.SelectedSheets.PrintOut , , 1, , , , True
Worksheets(N).Select
Set C = Nothing

End Sub
'-------------------------------


Salutations!




"STEN" a écrit dans le message de news:7d6e01c4316d$a4bdb970$

-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Salut Michel c'est encore moi avec mes problèmes,j'ai
sur mon usf deux type de cases des Boutons d'options et

des Cases à cocher, les uns servent à envoyer une seule
impression à la fois et les autres (CheckBox) pour
envoyer une impression multiple, hors j'ai appliqué la
même procédure pour les deux boutons OK en changeant le
TypeName mais quand je sélectionne plusieurs CheckBox une
seule feuille et envoyée vers l'imprimante ?
Que dois-je faire?
Encore mille merci pour ta patience.

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




Avatar
STEN
-----Message d'origine-----
Bonjour Sten,


Voici une procédure qui devrait fonctionner !

J'ai supposé que les noms de tes contrôles "CheckBox"
avait la même structure que les noms de tes Bouton radio.


Les 3 premières lettres servant à identifier le type de
contrôle comme : Chk , suivi du nom d'une feuille comme

par
exemple Feuil1.
Le résultat serait alors ChkFeuil1 et ainsi de suite
pour tous les contrôles "CheckBox" .



'-------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len
(C.Name) - 3)

End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
For A = 1 To UBound(LesFeuilles)
Worksheets(LesFeuilles(A)).Select Replace:úlse
Next

'La commande pour imprimer toutes les feuilles
sélectionnées

ActiveWindow.SelectedSheets.PrintOut , , 1, , , , True
Worksheets(N).Select
Set C = Nothing

End Sub
'-------------------------------


Salutations!

Salut, Michel
C'est presque ca mais j'ai un message d'erreur concernant

la ligne
For A = 1 To UBound (LesFeuilles)
Erreur d'éxecution 9
L'indice n'appartient pas à la sélection
si tu veux je peut te fournir le classeur par mail
Merci


"STEN" a écrit dans le message de
news:7d6e01c4316d$a4bdb970$


-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Salut Michel c'est encore moi avec mes problèmes,j'ai
sur mon usf deux type de cases des Boutons d'options et

des Cases à cocher, les uns servent à envoyer une seule
impression à la fois et les autres (CheckBox) pour
envoyer une impression multiple, hors j'ai appliqué la
même procédure pour les deux boutons OK en changeant le
TypeName mais quand je sélectionne plusieurs CheckBox une
seule feuille et envoyée vers l'imprimante ?
Que dois-je faire?
Encore mille merci pour ta patience.

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




.





Avatar
michdenis
Bonjour Sten,

Dans ce groupe de discussion, la coutume est de répondre au dessus du message. Ceci évite les usagers à utiliser
l'ascenseur pour suivre la discussion d'un message à l'autre.

Essaie ceci :

Pour imprimer : modifie la commande la commande PrinPreview pour Print ....

'-----------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len(C.Name) - 3)
End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
If A > 0 Then
For A = 1 To UBound(LesFeuilles)
If A = 1 Then
Worksheets(LesFeuilles(A)).Select
Me.Controls("Chk" & LesFeuilles(A)).Value = False
Else
Worksheets(LesFeuilles(A)).Select Replace:úlse
Me.Controls("Chk" & LesFeuilles(A)).Value = False
End If
Next
Else
MsgBox "Aucune case à cocher n'a été sélectionnée."
End If

'La commande pour imprimer toutes les feuilles sélectionnées
If A > 0 Then
Me.Hide
Me.Repaint
ActiveWindow.SelectedSheets.PrintPreview ' , , 1, , , , True
Worksheets(N).Select
Application.ScreenUpdating = True
MsgBox "Impression terminée."
Me.Show

End If
Set C = Nothing

End Sub
'-----------------------------------


Salutations!




"STEN" a écrit dans le message de news:7f0001c431c2$010afbd0$

-----Message d'origine-----
Bonjour Sten,


Voici une procédure qui devrait fonctionner !

J'ai supposé que les noms de tes contrôles "CheckBox"
avait la même structure que les noms de tes Bouton radio.


Les 3 premières lettres servant à identifier le type de
contrôle comme : Chk , suivi du nom d'une feuille comme

par
exemple Feuil1.
Le résultat serait alors ChkFeuil1 et ainsi de suite
pour tous les contrôles "CheckBox" .



'-------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len
(C.Name) - 3)

End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
For A = 1 To UBound(LesFeuilles)
Worksheets(LesFeuilles(A)).Select Replace:úlse
Next

'La commande pour imprimer toutes les feuilles
sélectionnées

ActiveWindow.SelectedSheets.PrintOut , , 1, , , , True
Worksheets(N).Select
Set C = Nothing

End Sub
'-------------------------------


Salutations!

Salut, Michel
C'est presque ca mais j'ai un message d'erreur concernant

la ligne
For A = 1 To UBound (LesFeuilles)
Erreur d'éxecution 9
L'indice n'appartient pas à la sélection
si tu veux je peut te fournir le classeur par mail
Merci


"STEN" a écrit dans le message de
news:7d6e01c4316d$a4bdb970$


-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) - 3)
Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Salut Michel c'est encore moi avec mes problèmes,j'ai
sur mon usf deux type de cases des Boutons d'options et

des Cases à cocher, les uns servent à envoyer une seule
impression à la fois et les autres (CheckBox) pour
envoyer une impression multiple, hors j'ai appliqué la
même procédure pour les deux boutons OK en changeant le
TypeName mais quand je sélectionne plusieurs CheckBox une
seule feuille et envoyée vers l'imprimante ?
Que dois-je faire?
Encore mille merci pour ta patience.

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




.





Avatar
STEN
Salut Michel!
Merci cette fois c'est la bonne
Une autre question, comment faire pour ne pas afficher
#DIV/0! dans une cellule?
Merci
-----Message d'origine-----
Bonjour Sten,

Dans ce groupe de discussion, la coutume est de répondre
au dessus du message. Ceci évite les usagers à utiliser

l'ascenseur pour suivre la discussion d'un message à
l'autre.


Essaie ceci :

Pour imprimer : modifie la commande la commande
PrinPreview pour Print ....


'-----------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len
(C.Name) - 3)

End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
If A > 0 Then
For A = 1 To UBound(LesFeuilles)
If A = 1 Then
Worksheets(LesFeuilles(A)).Select
Me.Controls("Chk" & LesFeuilles(A)).Value =
False

Else
Worksheets(LesFeuilles(A)).Select
Replace:úlse

Me.Controls("Chk" & LesFeuilles(A)).Value =
False

End If
Next
Else
MsgBox "Aucune case à cocher n'a été sélectionnée."
End If

'La commande pour imprimer toutes les feuilles
sélectionnées

If A > 0 Then
Me.Hide
Me.Repaint
ActiveWindow.SelectedSheets.PrintPreview ' , ,
1, , , , True

Worksheets(N).Select
Application.ScreenUpdating = True
MsgBox "Impression terminée."
Me.Show

End If
Set C = Nothing

End Sub
'-----------------------------------


Salutations!




"STEN" a écrit dans le message de
news:7f0001c431c2$010afbd0$


-----Message d'origine-----
Bonjour Sten,


Voici une procédure qui devrait fonctionner !

J'ai supposé que les noms de tes contrôles "CheckBox"
avait la même structure que les noms de tes Bouton radio.


Les 3 premières lettres servant à identifier le type de
contrôle comme : Chk , suivi du nom d'une feuille comme

par
exemple Feuil1.
Le résultat serait alors ChkFeuil1 et ainsi de suite
pour tous les contrôles "CheckBox" .



'-------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len
(C.Name) - 3)

End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
For A = 1 To UBound(LesFeuilles)
Worksheets(LesFeuilles(A)).Select Replace:úlse
Next

'La commande pour imprimer toutes les feuilles
sélectionnées

ActiveWindow.SelectedSheets.PrintOut , , 1, , , , True
Worksheets(N).Select
Set C = Nothing

End Sub
'-------------------------------


Salutations!

Salut, Michel
C'est presque ca mais j'ai un message d'erreur concernant

la ligne
For A = 1 To UBound (LesFeuilles)
Erreur d'éxecution 9
L'indice n'appartient pas à la sélection
si tu veux je peut te fournir le classeur par mail
Merci


"STEN" a écrit dans le message de
news:7d6e01c4316d$a4bdb970$


-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Salut Michel c'est encore moi avec mes problèmes,j'ai
sur mon usf deux type de cases des Boutons d'options et

des Cases à cocher, les uns servent à envoyer une seule
impression à la fois et les autres (CheckBox) pour
envoyer une impression multiple, hors j'ai appliqué la
même procédure pour les deux boutons OK en changeant le
TypeName mais quand je sélectionne plusieurs CheckBox
une


seule feuille et envoyée vers l'imprimante ?
Que dois-je faire?
Encore mille merci pour ta patience.

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




.




.






Avatar
michdenis
Bonjour Sten,

#DIV/0! ceci est généré lorsqu'excel essaie d'effectuer une division par un dénominateur 0

En supposant que tu veuilles diviser D1 par D2

=SI(ESTNUM(D2)*(D2<>0)=1;D1/D2;"")

Il y a bien sûr les mises en forme conditionnelle au besoin !!


Salutations!




"STEN" a écrit dans le message de news:858301c4321b$9b9733e0$
Salut Michel!
Merci cette fois c'est la bonne
Une autre question, comment faire pour ne pas afficher
#DIV/0! dans une cellule?
Merci
-----Message d'origine-----
Bonjour Sten,

Dans ce groupe de discussion, la coutume est de répondre
au dessus du message. Ceci évite les usagers à utiliser

l'ascenseur pour suivre la discussion d'un message à
l'autre.


Essaie ceci :

Pour imprimer : modifie la commande la commande
PrinPreview pour Print ....


'-----------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len
(C.Name) - 3)

End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
If A > 0 Then
For A = 1 To UBound(LesFeuilles)
If A = 1 Then
Worksheets(LesFeuilles(A)).Select
Me.Controls("Chk" & LesFeuilles(A)).Value False
Else
Worksheets(LesFeuilles(A)).Select
Replace:úlse

Me.Controls("Chk" & LesFeuilles(A)).Value False
End If
Next
Else
MsgBox "Aucune case à cocher n'a été sélectionnée."
End If

'La commande pour imprimer toutes les feuilles
sélectionnées

If A > 0 Then
Me.Hide
Me.Repaint
ActiveWindow.SelectedSheets.PrintPreview ' , ,
1, , , , True

Worksheets(N).Select
Application.ScreenUpdating = True
MsgBox "Impression terminée."
Me.Show

End If
Set C = Nothing

End Sub
'-----------------------------------


Salutations!




"STEN" a écrit dans le message de
news:7f0001c431c2$010afbd0$


-----Message d'origine-----
Bonjour Sten,


Voici une procédure qui devrait fonctionner !

J'ai supposé que les noms de tes contrôles "CheckBox"
avait la même structure que les noms de tes Bouton radio.


Les 3 premières lettres servant à identifier le type de
contrôle comme : Chk , suivi du nom d'une feuille comme

par
exemple Feuil1.
Le résultat serait alors ChkFeuil1 et ainsi de suite
pour tous les contrôles "CheckBox" .



'-------------------------------
Private Sub CommandButton1_Click()

Dim LesFeuilles(), A As Integer
Dim C As Control, N As String

N = ActiveSheet.Name
For Each C In Me.Controls
If TypeName(C) = "CheckBox" Then
Select Case C.Value
Case True
A = A + 1
ReDim Preserve LesFeuilles(A)
LesFeuilles(A) = Right(C.Name, Len
(C.Name) - 3)

End Select
End If
Next

'Permet de sélectionner toutes les feuilles
'dont le checkbox était coché.
Application.ScreenUpdating = False
For A = 1 To UBound(LesFeuilles)
Worksheets(LesFeuilles(A)).Select Replace:úlse
Next

'La commande pour imprimer toutes les feuilles
sélectionnées

ActiveWindow.SelectedSheets.PrintOut , , 1, , , , True
Worksheets(N).Select
Set C = Nothing

End Sub
'-------------------------------


Salutations!

Salut, Michel
C'est presque ca mais j'ai un message d'erreur concernant

la ligne
For A = 1 To UBound (LesFeuilles)
Erreur d'éxecution 9
L'indice n'appartient pas à la sélection
si tu veux je peut te fournir le classeur par mail
Merci


"STEN" a écrit dans le message de
news:7d6e01c4316d$a4bdb970$


-----Message d'origine-----
Bonsoir Sten,


2 alternatives :

Change la ligne de commande :

Unload Me PAR End


Ou comme ceci :

'------------------------------
Private Sub CommandButton1_Click()
Dim C As Control, Feuille As String
Dim Ok As Boolean

Ok = False
For Each C In Me.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Ok = True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
End
Me.Hide
End Select
End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If
Unload Me
Set C = Nothing

End Sub
'------------------------------


Salutations!

Salut Michel c'est encore moi avec mes problèmes,j'ai
sur mon usf deux type de cases des Boutons d'options et

des Cases à cocher, les uns servent à envoyer une seule
impression à la fois et les autres (CheckBox) pour
envoyer une impression multiple, hors j'ai appliqué la
même procédure pour les deux boutons OK en changeant le
TypeName mais quand je sélectionne plusieurs CheckBox
une


seule feuille et envoyée vers l'imprimante ?
Que dois-je faire?
Encore mille merci pour ta patience.

"STEN" a écrit dans le message de
news:7bda01c43164$0c03c200$


-----Message d'origine-----
Bonsoir Sten,

Tu peux simplement ajouter ceci :


If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, "toto"
End If


La procédure deviendra :

'-----------------------------
Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select

End If
Next

If Me.Visible = True Then
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, Menu.LblTitre.Caption
End If

Set C = Nothing

End Sub
'------------------------------


Salutations!


Salut, merci pour ton aide je viens de mettre le code
mais il me renvoi un message d'erreur, l'impression est

bien envoyer vers l'imprimante mais voici ce qu'il me
met:


Erreur d'éxecution '-2147418105(80010007):

Erreur Automation
L'appele (serveur [pas application serveur])n'est pas
disponible et a disparu, aucune connexion n'est valide
l'appel a peut être été éxecuté.


"STEN" a écrit dans le message de
news:7b6e01c43159$74cb7e00$

Bonjour, dans un usf j'ai associé du code pour la
validation de boutons d'options (code que j'ai trouvé
sur


ce forum j'en remerci ces auteurs)
Je voudrais y mettre un msgbox si aune option n'est
cocher, ou dois-je mettre celui-ci ?

Merci de votre aide
Le code de mon bouton:

Private Sub CmdValid_Click()
Dim C As Control, Feuille As String
For Each C In MENU.Controls
If TypeName(C) = "OptionButton" Then
Select Case C.Value
Case True
Feuille = Right(C.Name, Len(C.Name) -
3)



Worksheets(Feuille).Activate
Unload Me

End Select
MsgBox "Vous devez sélectionner un Mois!", _
vbInformation, _
, MENU.LblTitre.Caption

End If
Next
Set C = Nothing


.




.




.




.