une listbox pour imprimer diffs. zone?

  • Initiateur de la discussion titin
  • Date de début
T

titin

Guest
Bonsoir à tous

j'ai trouvé un userform qui donne un choix d'impression sur les feuilles du classeur ouvert. ci joint fichier.

je cherche à la mofifié pour faire un choix sur différentes zones d'impression sur une même feuille tout en gardant cette forme.
je tourne je vire dans tous les sens et je ne trouve pas.

Merci pour votre aide
 

Pièces jointes

  • Zone_d_Impression.zip
    13.1 KB · Affichages: 34
S

STéphane

Guest
bonjour


j'ai modifié le code
copie ton classeur et remplace le code du formulaire par le suivant



'Le code dans la procédure suivante crée un tableau et rassemble
'l'information en faisant une boucle sur les feuilles dans le
'classeur actif. Il transfère alors ce tableau dans une liste
'nommée ListBox1.
'----------------------------------------------------------------
Private Sub BtnOK_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
'With Sheets(ListBox1.List(i))
With Sheets(ActiveWorkbook.Names(ListBox1.List(i)).RefersToRange.Parent.Name)
.PageSetup.PrintGridlines = cbGridlines
If obLandscape Then .PageSetup.Orientation = xlLandscape
If obPortrait Then .PageSetup.Orientation = xlPortrait
Range(ActiveWorkbook.Names(ListBox1.List(i))).PrintOut copies:=1
End With
End If
Next i
Unload Me
End Sub

Private Sub BtnOptions_Click()
If BtnOptions.Caption = "Options >>" Then
FrmImpr.Height = 174
BtnOptions.Caption = "<< Options"
Else
FrmImpr.Height = 128
BtnOptions.Caption = "Options >>"
End If
End Sub

Private Sub UserForm_Initialize()
For Each Sht In ActiveWorkbook.Names
ListBox1.AddItem Sht.Name
Next Sht
FrmImpr.Height = 128
End Sub

Private Sub BtnAnnuler_Click()
Unload Me
End Sub


il n'y a pas bcpo de changements mais capitaux
 
T

titin

Guest
OK merci STéphane

peut tu me commenté les 2 lignes rajoutées pour m'éclairé un peu.
je débute et je tatonne.

With Sheets(ActiveWorkbook.Names(ListBox1.List(i)).RefersToRange.Parent.Name)

Range(ActiveWorkbook.Names(ListBox1.List(i))).PrintOut copies:=1

merci encore
 
T

titin

Guest
bon soir à tous


Suite à aux renseignements de STéphane j'essaye de mettre tous ça en pratique mais je rencontre toujours un petit problème.
Je veux uniquement utiliser sur la feuille du classeur ouverte plusieurs zone d'impression au choix.
Actuellement toutes les zones de Nom de mon classeur sont prisses en compte dans la liste de l'UserForm.

Comment faire pour isoler la feuille en question sans pour autant éliminer les autres zones de Noms des autres feuilles ?

Merci
 
J

jon

Guest
bonjour

lorsque tu boucles sur les noms pour alimenter la listbox, fais un test sur le nom de la feuille parente de la cellule

feuil1.activate
for each nm in activeworkbook.names
if nm.referstorange.parent.name = feuil1.name then

else
end if
next nm
 

Discussions similaires

Réponses
6
Affichages
697
Réponses
18
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
314 085
Messages
2 105 626
Membres
109 401
dernier inscrit
LE CLUB