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

Impression feuille classeur avec liste déroulante

5 réponses
Avatar
JK
Bonsoir,
Je souhaite imprimer une même feuille d'un classeur Excel avec chaque nom
d'une liste déroulante déclarée dans une autre feuille du même classeur.
Cette liste est déclarée par /Données/Validation.

La liste s'affiche mais je dois sélectionner chaque fois un nom de la liste
puis imprimer la feuille.
C'est fastidieux d'autant plus que la liste des noms est longue.

Un tuyau en VBA ?

Merci d'avance et bonne soirée

Jack

5 réponses

Avatar
LSteph
Bonsoir,

Oui boucler sur la source de ta validation
supposons que tu l'ai nommé maplage
et que la destination dans la feuille soit [a1]

Sub imprimTout()
dim c as range
For each c in [maplage].cells
[a1]=c
Activesheet.printout
next
End sub

'--
'lSteph

Bonsoir,
Je souhaite imprimer une même feuille d'un classeur Excel avec chaque nom
d'une liste déroulante déclarée dans une autre feuille du même classeur.
Cette liste est déclarée par /Données/Validation.

La liste s'affiche mais je dois sélectionner chaque fois un nom de la liste
puis imprimer la feuille.
C'est fastidieux d'autant plus que la liste des noms est longue.

Un tuyau en VBA ?

Merci d'avance et bonne soirée

Jack




Avatar
MichDenis
Tu donnes un NOM(insertion -nom - définir) à la plage de cellules
où tu as définis ta liste

Tu peux te servir de ce nom pour renseigner ta liste de validation

avec une macro qui ressemble à ceci, tu devrais pouvoir imprimer la même
feuille, lui donner le nom d'un individu dans ta liste et l'imprimer
à la fin ta feuille reprendra le nom qu'elle avait au départ.

(pas tester) prend soin de bien identifier le nom de ta feuille
et le nom de ta plage dans la proc. qui suit.

'-------------------------------------
Sub test()
Dim Sh As worksheet, S as string, Cell as range

set Sh = With Worksheets("NomFeuille_a_Imprimer")
S = sh.name

for each cell in Worksheets("NomFeuilleOusontTesNoms").Range("SON_NOM")
sh.name = cell.value
sh.printout
Next
sh.name = sh.name
Sub test()
'-------------------------------------


"JK" a écrit dans le message de news:
Bonsoir,
Je souhaite imprimer une même feuille d'un classeur Excel avec chaque nom
d'une liste déroulante déclarée dans une autre feuille du même classeur.
Cette liste est déclarée par /Données/Validation.

La liste s'affiche mais je dois sélectionner chaque fois un nom de la liste
puis imprimer la feuille.
C'est fastidieux d'autant plus que la liste des noms est longue.

Un tuyau en VBA ?

Merci d'avance et bonne soirée

Jack
Avatar
MichDenis
à la fin de la Sub, tu as compris qu'il faudrait que
tu remplaces Sub test() par End Sub


"MichDenis" a écrit dans le message de news:
O8VFz$
Tu donnes un NOM(insertion -nom - définir) à la plage de cellules
où tu as définis ta liste

Tu peux te servir de ce nom pour renseigner ta liste de validation

avec une macro qui ressemble à ceci, tu devrais pouvoir imprimer la même
feuille, lui donner le nom d'un individu dans ta liste et l'imprimer
à la fin ta feuille reprendra le nom qu'elle avait au départ.

(pas tester) prend soin de bien identifier le nom de ta feuille
et le nom de ta plage dans la proc. qui suit.

'-------------------------------------
Sub test()
Dim Sh As worksheet, S as string, Cell as range

set Sh = With Worksheets("NomFeuille_a_Imprimer")
S = sh.name

for each cell in Worksheets("NomFeuilleOusontTesNoms").Range("SON_NOM")
sh.name = cell.value
sh.printout
Next
sh.name = sh.name
Sub test()
'-------------------------------------


"JK" a écrit dans le message de news:
Bonsoir,
Je souhaite imprimer une même feuille d'un classeur Excel avec chaque nom
d'une liste déroulante déclarée dans une autre feuille du même classeur.
Cette liste est déclarée par /Données/Validation.

La liste s'affiche mais je dois sélectionner chaque fois un nom de la liste
puis imprimer la feuille.
C'est fastidieux d'autant plus que la liste des noms est longue.

Un tuyau en VBA ?

Merci d'avance et bonne soirée

Jack
Avatar
JK
Bonsoir
C'est exactement ce que je cherchais.
Merci encore
Jack
"LSteph" a écrit dans le message de news:

Bonsoir,

Oui boucler sur la source de ta validation
supposons que tu l'ai nommé maplage
et que la destination dans la feuille soit [a1]

Sub imprimTout()
dim c as range
For each c in [maplage].cells
[a1]=c
Activesheet.printout
next
End sub

'--
'lSteph

Bonsoir,
Je souhaite imprimer une même feuille d'un classeur Excel avec chaque nom
d'une liste déroulante déclarée dans une autre feuille du même classeur.
Cette liste est déclarée par /Données/Validation.

La liste s'affiche mais je dois sélectionner chaque fois un nom de la
liste puis imprimer la feuille.
C'est fastidieux d'autant plus que la liste des noms est longue.

Un tuyau en VBA ?

Merci d'avance et bonne soirée

Jack




Avatar
JK
Bonsoir
Merci à toi
Cela fonctionne
A+
Jack
"MichDenis" a écrit dans le message de news:

à la fin de la Sub, tu as compris qu'il faudrait que
tu remplaces Sub test() par End Sub


"MichDenis" a écrit dans le message de news:
O8VFz$
Tu donnes un NOM(insertion -nom - définir) à la plage de cellules
où tu as définis ta liste

Tu peux te servir de ce nom pour renseigner ta liste de validation

avec une macro qui ressemble à ceci, tu devrais pouvoir imprimer la même
feuille, lui donner le nom d'un individu dans ta liste et l'imprimer
à la fin ta feuille reprendra le nom qu'elle avait au départ.

(pas tester) prend soin de bien identifier le nom de ta feuille
et le nom de ta plage dans la proc. qui suit.

'-------------------------------------
Sub test()
Dim Sh As worksheet, S as string, Cell as range

set Sh = With Worksheets("NomFeuille_a_Imprimer")
S = sh.name

for each cell in Worksheets("NomFeuilleOusontTesNoms").Range("SON_NOM")
sh.name = cell.value
sh.printout
Next
sh.name = sh.name
Sub test()
'-------------------------------------


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

Bonsoir,
Je souhaite imprimer une même feuille d'un classeur Excel avec chaque nom
d'une liste déroulante déclarée dans une autre feuille du même classeur.
Cette liste est déclarée par /Données/Validation.

La liste s'affiche mais je dois sélectionner chaque fois un nom de la
liste
puis imprimer la feuille.
C'est fastidieux d'autant plus que la liste des noms est longue.

Un tuyau en VBA ?

Merci d'avance et bonne soirée

Jack