Definir une zone d'impression avec plusieurs variables (lignes)

hello_dit Messages postés 2 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  2. hello_dit
     
    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
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  4. hello_dit Messages postés 2 Statut Membre
     
    Merci de votre aide et d'y avoir passer un peu de temps , je vais essayer.
    Bonne journée
    Elodie
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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