Résolu par thebenoit59 Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je bute encore (normal vu mes petites connaissances, mais j'évolue grâce à vous).

Mon souci est le suivant :
J'ai besoin d'imprimer un document :
D'un point de départ jusqu'à une dernière ligne NON VIDE aléatoire (jamais la même) en fonction des éléments saisis.

1 - de la cellule B2 à la cellule W (dernière ligne cellule B NON VIDE)
2 - de la cellule Y2 à la cellule Z (dernière ligne cellule B NON VIDE)

Dans mes essais (voir macros), j'arrive à faire des sélections "fixes" mais je ne sais pas faire le code pour une sélection de plage aléatoire.

En espérant avoir exposé clairement mon souci, je vous joins un fichier test.

Je ne sais même plus comment vous remercier LOL,
Alors, MERCI pour tout ce que vous faites.
Bonne journée à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • TestImprime.xlsm
    53.1 KB · Affichages: 27
  • TestImprime.xlsm
    53.1 KB · Affichages: 26
Dernière édition:

thebenoit59

XLDnaute Accro
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Salut Arthour973.

Je ne sais pas si j'ai bien compris, mais tu peux essayer ce code :

Sub ImprimSecteurB2()
Dim DernièreLigne As Long

DernièreLigne = Cells(Rows.Count, 2).End(xlUp).Row

'ActiveSheet.Cells(Rows.Count, "B").End(xlUp)(1).Select
'ActiveSheet.Range(Cells(2, 2), Cells(292, 24)).Select
Range("B2:W" & DernièreLigne).Select

'ActiveSheet.Range(Cells(2, 2), Cells(12, 26)).Select

End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Bonjour Benoit,

Merci de m'avoir répondu.
J'ai tenté l'essai mais j'en étais déjà à ce niveau.
Code:
ActiveSheet.Range(Cells(2, 2), Cells(292, 24)).Select

Cells(292, 24)
Le 292 fixe la fin de la sélection et mon souci est là.

J'ai besoin que la sélection soit aléatoire : c'est à dire qu'elle varie en fonction de la dernière ligne cellule B NON vide.

Bonne journée,
Amicalement,
Lionel,
 

thebenoit59

XLDnaute Accro
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Dans ma proposition cela sélectionne bien la dernière ligne non vide.

Sub ImprimSecteurB2()
Dim DernièreLigne As Long

DernièreLigne = Cells(Rows.Count, 2).End(xlUp).Row

Range("B2:W" & DernièreLigne).Select

OU

ActiveSheet.PageSetup.PrintArea = Range("B2:W" & DernièreLigne).Address

End Sub
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Re-Bonjour,

Je n'y arrive pas avec ce code.

Je tente de mieux m'expliquer LOL

Mon code actuel :
Code:
Sub ImprimSecteurB2()
    ActiveSheet.Range(Cells(2, 2), Cells(292, 24)).Select
End Sub

Cells(292, 24)
Le 292 fixe la fin de la sélection et mon souci est là.

J'ai besoin que la sélection soit aléatoire : c'est à dire qu'elle varie en fonction de la dernière ligne cellule B NON vide.

Merci pour vos réponses,
Amicalement,
Lionel,
 

thebenoit59

XLDnaute Accro
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Je te joins le fichier modifié avec le code.
Sur mon ordinateur ça fonctionne correctement, j'espère que pour toi aussi.
 

Pièces jointes

  • TestImprime.xlsm
    53 KB · Affichages: 31
  • TestImprime.xlsm
    53 KB · Affichages: 21

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Re-Bonjour Benoit,

Merci vraiment pour tes réponses et on avance ..... on y est presque.

Quand j'ai testé ton code, rien ne se passait (pas d'impression).
En revanche, le code de la sélection des plages est bon ... super !

Voici le code tel que je l'ai modifié :
Code:
Sub ImprimSecteurB2()
Dim DernièreLigne As Long

DernièreLigne = Cells(Rows.Count, 2).End(xlUp).Row
    Range("B2:W" & DernièreLigne).Select
    ActiveSheet.PageSetup.Selection.PrintArea
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub
Sub ImprimSecteurY2()
Dim DernièreLigne As Long

DernièreLigne = Cells(Rows.Count, 2).End(xlUp).Row
    Range("Y2:Z" & DernièreLigne).Select
    ActiveSheet.PageSetup.Selection.PrintArea
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

Il reste un dernier souci :
Il faudrait que l'impression se fasse sur la sélection de la plage à imprimer.
c'est à dire sur : Range("B2:W" & DernièreLigne).Select (plage aléatoire en fonction de la sélection)

Encore merci,
Amicalement,
Lionel,
 

thebenoit59

XLDnaute Accro
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Sub ImprimSecteurB2()
Dim DernièreLigne As Long

DernièreLigne = Cells(Rows.Count, 2).End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = Range("B2:W" & DernièreLigne).Address
ActiveSheet.PrintOut Preview:=True, Copies:=1, collate:=True, ignoreprintareas:=False

End Sub
Sub ImprimSecteurY2()
Dim DernièreLigne As Long

DernièreLigne = Cells(Rows.Count, 2).End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = Range("Y2:Z" & DernièreLigne).Address
ActiveSheet.PrintOut Preview:=True, Copies:=1, collate:=True, ignoreprintareas:=False

End Sub

Supprimer Preview:= si tu ne veux pas d'aperçu avant impression (ce que j'aurai du faire quand j'ai testé le code :D)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro imprime plage sélection jusqu'à dernière ligne NON VIDE

Re-Bonjour,

Alors là ...... c'est nickel ça marche super.

Merci "petit" nouveau LOL :D

J'aimerais être ce petit nouveau là .... :rolleyes:

Grand Merci pour avoir été là et pour votre solution.
je pense que ce code servira à beaucoup de novices tels que moi.

Bonne fin de journée,
Amicalement,
Lionel,
 
Dernière édition:

thebenoit59

XLDnaute Accro
Re : Résolu par thebenoit59 Macro imprime plage sélection jusqu'à dernière ligne NON

Si ça fonctionne, j'en suis bien content.
A force de parcourir le forum, et d'avoir été aidé par plusieurs de ses membres, cela devient au fur et à mesure plus clair.

Ce code me servira également dans le projet que j'ai en cours.

Bonne journée.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Résolu par thebenoit59 Macro imprime plage sélection jusqu'à dernière ligne NON

Alors, on a bien fait d'en parler LOL.

D'ailleurs c'est le but je crois : que tous nos échanges servent au plus grand nombre.

En plus de mes questions, je regarde aussi beaucoup de fils qui m'apprennent énormément et j'essaie de comprendre aussi.
Les gens de ce site sont formidables (mes mots sont sincères et non dictés par "mon intérêt").

Beaucoup d'entres nous devraient le dire plus souvent.
Et aussi être polis et respectueux.

Bonne journée à toutes et à tous,
Merci à vous Benoit,
Amicalement,
Lionel,
 

Discussions similaires