Grrrr de VBA, vais me remettre au tricot...

Fermé
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004 - 4 oct. 2004 à 19:38
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004 - 5 oct. 2004 à 17:30
salut tout le monde
je cherche à tester le nombre de feuilles actives lors d'une demande d'impression... mais c'est au dessus de mes forces.
si par hasard (ou pas !) un superpro pouvais me dépanner voici ou j'en suis:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Workbooks.Count = 1 Then 'c'est cette ligne qui coince !!
Beep
Msgbox "Ne sélectionner qu'un formulaire.", , "Limite d'impression !"
Cancel = True
Else
If ActiveSheet.Name = "CG" Then
ActiveSheet.Unprotect password:="blabla"
Rows("9:22").EntireRow.Hidden = False
Rows("29:42").EntireRow.Hidden = True
If [C9] = " " And [E9] = " " And [G9] = " " Then
etc...........

Merci d'avance pour tout bout de solution
et que vives les forum's
ya'v
A voir également:

7 réponses

ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004
4 oct. 2004 à 19:50
oups la ligne qui coince est à:

if WorkSheets.count >1 then


ce que j'ai mis au dessus est déjà un autre essais... ;-)
0
Utilisateur anonyme
4 oct. 2004 à 19:51
Salut,
Comment ca elle "coince?"

. .  En raison de l'indifference generale
\_/  Demain est annule
0
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004
4 oct. 2004 à 19:55
salut ;-)
merci de jeter un oeil...
elle coince, c'est vrai que un peu vague...
si je mets
=1
peu importe le nombre de feuilles ca ne prends pas en compte le if...
si je mets
>1
peu importe le nombre de feuilles ca m'ouvre la msgbox et bloque l'impression...
je souhaiterais que ca passe outre si une seule feuille est active...
merci encore

ya'v
0
Utilisateur anonyme
4 oct. 2004 à 20:00
Ca doit vouloir dire que ta variable n'est pas la bonne, elle te donne systematiquement quelque chose au dessus de un, fait la afficher dans une message box avant par exemple pour voir quelle valeur elle a, peut eter que Access a toujours une form par defaut et qu'il faut retirer un ou peut etre que ce n'est pas ce que tu crois comme variable...


. .  En raison de l'indifference generale
\_/  Demain est annule
0
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004
4 oct. 2004 à 20:04
merci
j'ai bien pensé que ca venait de qulque chose comme ca, mais mes maigres connaissances ne me permettent pas de trouver le truc

pour l'idée d'afficher la variable, je note et vais m'y mettre, ca peut me permettre de comprendre, merci ;-)

en passant, je suis sous excel, access me fait encore bien peur :-(

et... si je me moqie aussi du lendemain... quel jour seront nous donc dem... euh après aujourd'hui ??? ;-))))
merci encore et youplaBOUMM
ya'v
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004
4 oct. 2004 à 20:09
Bravo et encore merci

If Worksheets.Count > 1 Then
ne fonctionne pas parce que la variable =32, c'est à dire toutes les feuilles du classeur, il ne me reste plus qu'a compter les feuilles actives !

mais comment...

merci pour cette énorme avancée
ya'v
0
Utilisateur anonyme
4 oct. 2004 à 20:58
Bon c'est bien ce que je pensais...

Tu n'as pas une propriete genre "Active" ou selected dans le parent de ton worksheet (desole je connais pas du tout le VBA de Excel...)

. .  En raison de l'indifference generale
\_/  Demain est annule
0
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004
5 oct. 2004 à 17:30
merci ;-)
la réponse m'est venue d'un autre forum (eh oui dommaaaage !)

If ThisWorkbook.Windows(1).SelectedSheets.Count > 1 Then


est la bonne solution, mais que fais cette fenetre(1) là au milieu ??? pas à moi qui faut le demander...

en tous cas merci encore de t'y être interessé ;-)

ya'v
0