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

5 réponses

  1. 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+
    0
    1. 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
      0
      1. 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+
        0
        1. Merci de votre aide et d'y avoir passer un peu de temps , je vais essayer.
          Bonne journée
          Elodie
          0
          1. Contributeur
            bonjour,

            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
            0