Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Impression d'une zone

6 réponses
Avatar
DLE100
Bonjour; J'ai une feuille excel qui contient les rapports de plusieurs
jours. Chaque rapport contient 11 colonnes et un nombre de lignes qui
est fonction de la longueur du rapport. Comment faire pour que
l'utilisateur (inexp=E9riment=E9) imprime facilement le rapport du jour
qu'il choisit par ex B1:L100? Je suis nul en vba mais je sais copier.
Merci =E0 tous.

6 réponses

Avatar
Daniel
Bonjour.
Comment détermines-tu la dernière ligne du rapport ?
Cordialement.
Daniel
"DLE100" a écrit dans le message de news:

Bonjour; J'ai une feuille excel qui contient les rapports de plusieurs
jours. Chaque rapport contient 11 colonnes et un nombre de lignes qui
est fonction de la longueur du rapport. Comment faire pour que
l'utilisateur (inexpérimenté) imprime facilement le rapport du jour
qu'il choisit par ex B1:L100? Je suis nul en vba mais je sais copier.
Merci à tous.
Avatar
JLuc
*Bonjour DLE100*,
A placer dans le ThisWorkbook :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Rapport" Then
ActiveSheet.PageSetup.PrintArea = "$B$1:$L" &
Range("A65536").End(xlUp).Row
End If
End Sub


Bonjour; J'ai une feuille excel qui contient les rapports de plusieurs
jours. Chaque rapport contient 11 colonnes et un nombre de lignes qui
est fonction de la longueur du rapport. Comment faire pour que
l'utilisateur (inexpérimenté) imprime facilement le rapport du jour
qu'il choisit par ex B1:L100? Je suis nul en vba mais je sais copier.
Merci à tous.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
DLE100
Merci JLUC
Je comprends la macro mais comment l'utilisateur pourra t'il
déterminer le printarea sans entrer dans la macro? Merci


On 22 avr, 11:01, JLuc wrote:
*Bonjour DLE100*,
A placer dans le ThisWorkbook :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Rapport" Then
ActiveSheet.PageSetup.PrintArea = "$B$1:$L" &
Range("A65536").End(xlUp).Row
End If
End Sub

Bonjour; J'ai une feuille excel qui contient les rapports de plusieurs
jours. Chaque rapport contient 11 colonnes et un nombre de lignes qui
est fonction de la longueur du rapport. Comment faire pour que
l'utilisateur (inexpérimenté) imprime facilement le rapport du jour
qu'il choisit par ex B1:L100? Je suis nul en vba mais je sais copier.
Merci à tous.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



Avatar
JLuc
*Bonjour DLE100*,


Merci JLUC
Je comprends la macro mais comment l'utilisateur pourra t'il
déterminer le printarea sans entrer dans la macro? Merci

L'utilisateur n'aura pas a aller dans la macro, la macro regle la zone

d'impression en fonction du nombre de ligne dans le rapport.
L'impression se fera pour les colonnes B à L, et pour les lignes allant
de 1 à .... la dernière



On 22 avr, 11:01, JLuc wrote:
*Bonjour DLE100*,
A placer dans le ThisWorkbook :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Rapport" Then
ActiveSheet.PageSetup.PrintArea = "$B$1:$L" &
Range("A65536").End(xlUp).Row
End If
End Sub

Bonjour; J'ai une feuille excel qui contient les rapports de plusieurs
jours. Chaque rapport contient 11 colonnes et un nombre de lignes qui
est fonction de la longueur du rapport. Comment faire pour que
l'utilisateur (inexpérimenté) imprime facilement le rapport du jour
qu'il choisit par ex B1:L100? Je suis nul en vba mais je sais copier.
Merci à tous.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



Avatar
DLE100
ok mais je crois que je ne me suis pas fait comprendre.
Sur la même feuille j'ai les colonnes B à L pour le rapport du 1er
avril; N à X pour le rapport du 2 avril et ainsi de suite. Donc ma
question : l'utilisateur veut imprimer le rapport du 12 avril colonnes
ED à EL, que fait-il ?
Je sais que je pourrais préparer 31 macros mais il doit y avoir un
moyen plus simple et plus souple.

On 22 avr, 16:30, JLuc wrote:
*Bonjour DLE100*,

Merci JLUC
Je comprends la macro mais comment l'utilisateur pourra t'il
déterminer le printarea sans entrer dans la macro? Merci


L'utilisateur n'aura pas a aller dans la macro, la macro regle la zone
d'impression en fonction du nombre de ligne dans le rapport.
L'impression se fera pour les colonnes B à L, et pour les lignes allant
de 1 à .... la dernière





On 22 avr, 11:01, JLuc wrote:
*Bonjour DLE100*,
A placer dans le ThisWorkbook :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Rapport" Then
ActiveSheet.PageSetup.PrintArea = "$B$1:$L" &
Range("A65536").End(xlUp).Row
End If
End Sub

Bonjour; J'ai une feuille excel qui contient les rapports de plusieurs
jours. Chaque rapport contient 11 colonnes et un nombre de lignes qui
est fonction de la longueur du rapport. Comment faire pour que
l'utilisateur (inexpérimenté) imprime facilement le rapport du jo ur
qu'il choisit par ex B1:L100? Je suis nul en vba mais je sais copier.
Merci à tous.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O



--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
JLuc
*Bonjour DLE100*,
J'ai trouvé une solution à ton problème :

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Do
jour = InputBox("Quel jour ? ", "Selection du jour")
Loop While Val(jour) < 0 Or Val(jour) > Day(DateSerial(Year(Date),
Month(Date), 0))
ColDeb = (12 * (Val(jour) - 1)) + 2
ColFin = ColDeb + 10
LigFin = Cells(65536, ColDeb).End(xlUp).Row
Zone = Range(Cells(1, ColDeb), Cells(LigFin, ColFin)).AddressLocal
If ActiveSheet.Name = "Feuil1" Then
ActiveSheet.PageSetup.PrintArea = Zone
End If
End Sub


ok mais je crois que je ne me suis pas fait comprendre.
Sur la même feuille j'ai les colonnes B à L pour le rapport du 1er
avril; N à X pour le rapport du 2 avril et ainsi de suite. Donc ma
question : l'utilisateur veut imprimer le rapport du 12 avril colonnes
ED à EL, que fait-il ?
Je sais que je pourrais préparer 31 macros mais il doit y avoir un
moyen plus simple et plus souple.


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O