Definir une zone d'impression avec plusieurs variables (lignes)
J'aurais un conseil concernant un soucis auquel je n'ai pu trouver une réponse sur les différents forums.
J'ai un tableau dont je connais la largeur.
par contre a l'intérieur de ce tableau , un utilisateur peut me donner un N° début de ligne et fin de ligne différents a chaque fois.
Je m'explique mon tableau ressemble a ceci
A B C
1 Debut Fin
2 11/03/2013 8.00 15.00
3 12/03/2013 8.00 16.00
4 13/03/2013 8.00 15.00
5 14/03/2013 9.00 15.00
6 15/03/2013 8.00 15.00
L'utilisateur peut choisir comme une zone d'impression (a1: c3) ou (a5:c6)
j'ai essayé d'utilisé un userforme pour que l'utilisateur rentre la ligne de début et fin et que cela me facilite la vie mais je n'arrive a rien car je n'arrive pas a rentrer mes variables avec la macro printArea
Auriez vous des idées ?
Ps je ne peux prédefinir non plus une plage à l'avance pour faciliter la chose.
merci
Elodie
J'ai un tableau dont je connais la largeur.
par contre a l'intérieur de ce tableau , un utilisateur peut me donner un N° début de ligne et fin de ligne différents a chaque fois.
Je m'explique mon tableau ressemble a ceci
A B C
1 Debut Fin
2 11/03/2013 8.00 15.00
3 12/03/2013 8.00 16.00
4 13/03/2013 8.00 15.00
5 14/03/2013 9.00 15.00
6 15/03/2013 8.00 15.00
L'utilisateur peut choisir comme une zone d'impression (a1: c3) ou (a5:c6)
j'ai essayé d'utilisé un userforme pour que l'utilisateur rentre la ligne de début et fin et que cela me facilite la vie mais je n'arrive a rien car je n'arrive pas a rentrer mes variables avec la macro printArea
Auriez vous des idées ?
Ps je ne peux prédefinir non plus une plage à l'avance pour faciliter la chose.
merci
Elodie
5 réponses
-
Contributeurbonjour,
Puisque tu te sert d' un userform, Pourquoi ne pas utiliser tout simplement le contrôle Refedit ?
Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer) End Sub Private Sub CommandButton1_Click() Range(RefEdit1).PrintOut End Sub
Michel -
Merci de votre aide et d'y avoir passer un peu de temps , je vais essayer.
Bonne journée
Elodie -
Re,
essayez ceci:
Sub test()
On Error Resume Next
Set RangeCells = Application.InputBox(Prompt:="Veuillez selectionner une plage de cellule. ", _
Title:="Blabla : " & Titre, _
Default:=DefaultRange, _
Type:=8)
ActiveSheet.PageSetup.PrintArea = RangeCells.Address
End Sub
c'est une boite a dialogue pour saisie plage de cellules que vous selectionnez a la souris ou en ecrivant dans la boite ex: a1:c18 et le code vous cree la zone d'impression.
A+ -
par contre a l'intérieur de ce tableau , un utilisateur peut me donner un N° début de ligne et fin de ligne différents a chaque fois. Cet utilisateur voit le Tableau?? si oui, pourquoi ne definit-il pas lui meme l'impression de ce qu'il a besoin??
A+
Bonjour F894009,
Car les utilisateurs ne maitrisent pas bien excel et donc je voudrais contrôler ce point.
Merci -
Bonjour,
par contre a l'intérieur de ce tableau , un utilisateur peut me donner un N° début de ligne et fin de ligne différents a chaque fois. Cet utilisateur voit le Tableau?? si oui, pourquoi ne definit-il pas lui meme l'impression de ce qu'il a besoin??
A+