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

Choix d'une Zone à imprimer par un seul bouton de macro.

4 réponses
Avatar
Sully
Bonsoir à tous,
J'aimerais mettre en place une macro qui lance l'impression; mais uniquement
la zone que le service à besoin.

je m'explique : J'ai défini 7 zones, Z1 à Z7.

afin de pas avoir à mettre 7 boutons de macro différents sur page, je
voudrais mettre un seul bouton, mais cliquant sur ce bouton, la macro
demande " à intéressé quelle est Zone choisie ?

ex : édition , Atteindre, "quel zone voulez vous", clique sur Z1 pour
imprimer Z1, ou Z7 si vous voulez Z7,
aperçu avant impression !
imprimer ou fermer sans impression "s'il s'est trompé de zone".

Merci de votre aide et je vous souhaite à tous une bonne soirée.
Sully.

4 réponses

Avatar
MichDenis
Bonjour Sully,

Voici un petit exemple :

J'ai supposé que dans chacune des cellules de la plage A1:A7,
tu avais défini une plage (son adresse) différente à imprimer

'-----------------------------------------
Sub Imprimer_Une_zone_définie()

Dim Rg As Range, C As Range
On Error Resume Next
Do
Set Rg = Application.InputBox(Prompt:="Sélectionner " & _
"la plage à imprimer.", Type:=8)
If Rg Is Nothing Then
MsgBox "Impression annulée."
Exit Sub
End If
Loop Until Not Rg Is Nothing

For Each C In Rg
With Worksheets(C.Parent.Name)
Application.DisplayAlerts = False
.PageSetup.PrintArea = Range(C.Value).Address
'Après tes tests, remplace par .Printout
.PrintPreview
.PageSetup.PrintArea = ""
Application.DisplayAlerts = True
End With
Next
End Sub
'-----------------------------------------




"Sully" a écrit dans le message de groupe de discussion :

Bonsoir à tous,
J'aimerais mettre en place une macro qui lance l'impression; mais uniquement
la zone que le service à besoin.

je m'explique : J'ai défini 7 zones, Z1 à Z7.

afin de pas avoir à mettre 7 boutons de macro différents sur page, je
voudrais mettre un seul bouton, mais cliquant sur ce bouton, la macro
demande " à intéressé quelle est Zone choisie ?

ex : édition , Atteindre, "quel zone voulez vous", clique sur Z1 pour
imprimer Z1, ou Z7 si vous voulez Z7,
aperçu avant impression !
imprimer ou fermer sans impression "s'il s'est trompé de zone".

Merci de votre aide et je vous souhaite à tous une bonne soirée.
Sully.
Avatar
Sully
Bonjour MichDenis, et à tous,
la macro que tu m'as proposé, ne semble pas fonctonnerr comme je le
shouaite.

Votre macro me demande de Sélectioner la plage à imprimer, ce que je
voudrais :

c'est comme j'ai déjà nommé (ou défini) des plages qui s'appellent Z1 ou Z2
puis Z3 ect jusqu'a 7.
je voudrais que la macro me demande clic sur le n° souhaité Z1 ou Z7, (et il
va atteindre la zone sélectionnée)
comme si j'étais dans le menu edition; Atteindre , Z 7 puis apercu avant
impression.
Fermer (si on s'est trompé) ou imprimé si c'est bon et fin.
------
Dans la macro, il semblerait qu'il y un petit souci à la fin, il ne quitte
pas la feuille, on doit passer à tous pris par l'impression, on ne pas
annuler et il imprime en plusieurs fois on est obligé de quitte excel par
"ctrl -+ alt + supp"
----------
En espérant d'avoir été plus clair.
Merci encore et bonne journée à tous.
Cordialement.

"MichDenis" a écrit dans le message de news:

Bonjour Sully,

Voici un petit exemple :

J'ai supposé que dans chacune des cellules de la plage A1:A7,
tu avais défini une plage (son adresse) différente à imprimer

'-----------------------------------------
Sub Imprimer_Une_zone_définie()

Dim Rg As Range, C As Range
On Error Resume Next
Do
Set Rg = Application.InputBox(Prompt:="Sélectionner " & _
"la plage à imprimer.", Type:=8)
If Rg Is Nothing Then
MsgBox "Impression annulée."
Exit Sub
End If
Loop Until Not Rg Is Nothing

For Each C In Rg
With Worksheets(C.Parent.Name)
Application.DisplayAlerts = False
.PageSetup.PrintArea = Range(C.Value).Address
'Après tes tests, remplace par .Printout
.PrintPreview
.PageSetup.PrintArea = ""
Application.DisplayAlerts = True
End With
Next
End Sub
'-----------------------------------------




"Sully" a écrit dans le message de groupe de
discussion :

Bonsoir à tous,
J'aimerais mettre en place une macro qui lance l'impression; mais
uniquement
la zone que le service à besoin.

je m'explique : J'ai défini 7 zones, Z1 à Z7.

afin de pas avoir à mettre 7 boutons de macro différents sur page, je
voudrais mettre un seul bouton, mais cliquant sur ce bouton, la macro
demande " à intéressé quelle est Zone choisie ?

ex : édition , Atteindre, "quel zone voulez vous", clique sur Z1 pour
imprimer Z1, ou Z7 si vous voulez Z7,
aperçu avant impression !
imprimer ou fermer sans impression "s'il s'est trompé de zone".

Merci de votre aide et je vous souhaite à tous une bonne soirée.
Sully.




Avatar
MichDenis
Bonjour Sully,

Ceci devrait ressembler plus à ce que tu veux.

La procédure fait un test afin de s'assurer que l'usager
a réellement saisi une plage nommée appelée Z1 à Z7
dans la boîte de saisie. Ce test est représenté par ceci:
ElseIf UCase(Plg) Like "Z[1-7]" Then


'-----------------------------------------
Sub Imprimer_Une_zone_définie()

Dim Plg As Variant

On Error Resume Next
Plg = Trim(Application.InputBox(Prompt:="Choix d'une " & _
"plage à imprimer (Z1 à Z7.", Type:=2))
If Plg = "Faux" Then
MsgBox "Impression annulée."
Exit Sub
ElseIf UCase(Plg) Like "Z[1-7]" Then
With Worksheets(Range(Plg).Parent.Name)
Application.DisplayAlerts = False
.PageSetup.PrintArea = .Range(Plg).Address
'Après tes tests, remplace par .Printout
.PrintPreview
.PageSetup.PrintArea = ""
Application.DisplayAlerts = True
End With
Else
MsgBox "La plage mentionnée n'existe pas."
End If

End Sub
'-----------------------------------------




"Sully" a écrit dans le message de groupe de discussion :

Bonjour MichDenis, et à tous,
la macro que tu m'as proposé, ne semble pas fonctonnerr comme je le
shouaite.

Votre macro me demande de Sélectioner la plage à imprimer, ce que je
voudrais :

c'est comme j'ai déjà nommé (ou défini) des plages qui s'appellent Z1 ou Z2
puis Z3 ect jusqu'a 7.
je voudrais que la macro me demande clic sur le n° souhaité Z1 ou Z7, (et il
va atteindre la zone sélectionnée)
comme si j'étais dans le menu edition; Atteindre , Z 7 puis apercu avant
impression.
Fermer (si on s'est trompé) ou imprimé si c'est bon et fin.
------
Dans la macro, il semblerait qu'il y un petit souci à la fin, il ne quitte
pas la feuille, on doit passer à tous pris par l'impression, on ne pas
annuler et il imprime en plusieurs fois on est obligé de quitte excel par
"ctrl -+ alt + supp"
----------
En espérant d'avoir été plus clair.
Merci encore et bonne journée à tous.
Cordialement.

"MichDenis" a écrit dans le message de news:

Bonjour Sully,

Voici un petit exemple :

J'ai supposé que dans chacune des cellules de la plage A1:A7,
tu avais défini une plage (son adresse) différente à imprimer

'-----------------------------------------
Sub Imprimer_Une_zone_définie()

Dim Rg As Range, C As Range
On Error Resume Next
Do
Set Rg = Application.InputBox(Prompt:="Sélectionner " & _
"la plage à imprimer.", Type:=8)
If Rg Is Nothing Then
MsgBox "Impression annulée."
Exit Sub
End If
Loop Until Not Rg Is Nothing

For Each C In Rg
With Worksheets(C.Parent.Name)
Application.DisplayAlerts = False
.PageSetup.PrintArea = Range(C.Value).Address
'Après tes tests, remplace par .Printout
.PrintPreview
.PageSetup.PrintArea = ""
Application.DisplayAlerts = True
End With
Next
End Sub
'-----------------------------------------




"Sully" a écrit dans le message de groupe de
discussion :

Bonsoir à tous,
J'aimerais mettre en place une macro qui lance l'impression; mais
uniquement
la zone que le service à besoin.

je m'explique : J'ai défini 7 zones, Z1 à Z7.

afin de pas avoir à mettre 7 boutons de macro différents sur page, je
voudrais mettre un seul bouton, mais cliquant sur ce bouton, la macro
demande " à intéressé quelle est Zone choisie ?

ex : édition , Atteindre, "quel zone voulez vous", clique sur Z1 pour
imprimer Z1, ou Z7 si vous voulez Z7,
aperçu avant impression !
imprimer ou fermer sans impression "s'il s'est trompé de zone".

Merci de votre aide et je vous souhaite à tous une bonne soirée.
Sully.




Avatar
Sully
Bonjour à tous et grand merci à MichDenis.
la deuxième macro est parfaite, merci infinimiment et bon Weekend.
sully
"MichDenis" a écrit dans le message de news:
%23S6y%
Bonjour Sully,

Ceci devrait ressembler plus à ce que tu veux.

La procédure fait un test afin de s'assurer que l'usager
a réellement saisi une plage nommée appelée Z1 à Z7
dans la boîte de saisie. Ce test est représenté par ceci:
ElseIf UCase(Plg) Like "Z[1-7]" Then


'-----------------------------------------
Sub Imprimer_Une_zone_définie()

Dim Plg As Variant

On Error Resume Next
Plg = Trim(Application.InputBox(Prompt:="Choix d'une " & _
"plage à imprimer (Z1 à Z7.", Type:=2))
If Plg = "Faux" Then
MsgBox "Impression annulée."
Exit Sub
ElseIf UCase(Plg) Like "Z[1-7]" Then
With Worksheets(Range(Plg).Parent.Name)
Application.DisplayAlerts = False
.PageSetup.PrintArea = .Range(Plg).Address
'Après tes tests, remplace par .Printout
.PrintPreview
.PageSetup.PrintArea = ""
Application.DisplayAlerts = True
End With
Else
MsgBox "La plage mentionnée n'existe pas."
End If

End Sub
'-----------------------------------------




"Sully" a écrit dans le message de groupe de
discussion :

Bonjour MichDenis, et à tous,
la macro que tu m'as proposé, ne semble pas fonctonnerr comme je le
shouaite.

Votre macro me demande de Sélectioner la plage à imprimer, ce que je
voudrais :

c'est comme j'ai déjà nommé (ou défini) des plages qui s'appellent Z1 ou
Z2
puis Z3 ect jusqu'a 7.
je voudrais que la macro me demande clic sur le n° souhaité Z1 ou Z7, (et
il
va atteindre la zone sélectionnée)
comme si j'étais dans le menu edition; Atteindre , Z 7 puis apercu avant
impression.
Fermer (si on s'est trompé) ou imprimé si c'est bon et fin.
------
Dans la macro, il semblerait qu'il y un petit souci à la fin, il ne quitte
pas la feuille, on doit passer à tous pris par l'impression, on ne pas
annuler et il imprime en plusieurs fois on est obligé de quitte excel par
"ctrl -+ alt + supp"
----------
En espérant d'avoir été plus clair.
Merci encore et bonne journée à tous.
Cordialement.

"MichDenis" a écrit dans le message de news:

Bonjour Sully,

Voici un petit exemple :

J'ai supposé que dans chacune des cellules de la plage A1:A7,
tu avais défini une plage (son adresse) différente à imprimer

'-----------------------------------------
Sub Imprimer_Une_zone_définie()

Dim Rg As Range, C As Range
On Error Resume Next
Do
Set Rg = Application.InputBox(Prompt:="Sélectionner " & _
"la plage à imprimer.", Type:=8)
If Rg Is Nothing Then
MsgBox "Impression annulée."
Exit Sub
End If
Loop Until Not Rg Is Nothing

For Each C In Rg
With Worksheets(C.Parent.Name)
Application.DisplayAlerts = False
.PageSetup.PrintArea = Range(C.Value).Address
'Après tes tests, remplace par .Printout
.PrintPreview
.PageSetup.PrintArea = ""
Application.DisplayAlerts = True
End With
Next
End Sub
'-----------------------------------------




"Sully" a écrit dans le message de groupe de
discussion :

Bonsoir à tous,
J'aimerais mettre en place une macro qui lance l'impression; mais
uniquement
la zone que le service à besoin.

je m'explique : J'ai défini 7 zones, Z1 à Z7.

afin de pas avoir à mettre 7 boutons de macro différents sur page, je
voudrais mettre un seul bouton, mais cliquant sur ce bouton, la macro
demande " à intéressé quelle est Zone choisie ?

ex : édition , Atteindre, "quel zone voulez vous", clique sur Z1 pour
imprimer Z1, ou Z7 si vous voulez Z7,
aperçu avant impression !
imprimer ou fermer sans impression "s'il s'est trompé de zone".

Merci de votre aide et je vous souhaite à tous une bonne soirée.
Sully.