Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas B.
Salut Greg,
Insère le code suivant dans le module de la feuille. Il redimensionne la zone d'impression à chaque modification dans la feuille.
Private Sub Worksheet_Change(ByVal Target As Range) Do i = i + 1 Loop While Cells(i, 7).Value <> "" ActiveSheet.PageSetup.PrintArea = Range([A1], [G1].Offset(i - 2)).Address End Sub
A+ Nicolas B.
Greg wrote:
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides ("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Salut Greg,
Insère le code suivant dans le module de la feuille. Il redimensionne la
zone d'impression à chaque modification dans la feuille.
Private Sub Worksheet_Change(ByVal Target As Range)
Do
i = i + 1
Loop While Cells(i, 7).Value <> ""
ActiveSheet.PageSetup.PrintArea = Range([A1], [G1].Offset(i - 2)).Address
End Sub
A+
Nicolas B.
Greg wrote:
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli
automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin
d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les
cellules vides, hé non !!!
Insère le code suivant dans le module de la feuille. Il redimensionne la zone d'impression à chaque modification dans la feuille.
Private Sub Worksheet_Change(ByVal Target As Range) Do i = i + 1 Loop While Cells(i, 7).Value <> "" ActiveSheet.PageSetup.PrintArea = Range([A1], [G1].Offset(i - 2)).Address End Sub
A+ Nicolas B.
Greg wrote:
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides ("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Greg
J'ai copié le code mais ça ne fonctionne pas.
Peux tu me redonner la synthaxe pour un tableau se trouvant en M1:S1000 (j'ai essayé de modifier le code mais rien) et me dire où il faut copier ce code exactement.
Merci encore.
Greg
"Greg" a écrit dans le message de news: cgdc7t$o30$
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
J'ai copié le code mais ça ne fonctionne pas.
Peux tu me redonner la synthaxe pour un tableau se trouvant en M1:S1000
(j'ai essayé de modifier le code mais rien) et me dire où il faut copier ce
code exactement.
Merci encore.
Greg
"Greg" <greglouchet@wanadoo.fr> a écrit dans le message de news:
cgdc7t$o30$1@news-reader1.wanadoo.fr...
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules
vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli
automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin
d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les
cellules vides, hé non !!!
Peux tu me redonner la synthaxe pour un tableau se trouvant en M1:S1000 (j'ai essayé de modifier le code mais rien) et me dire où il faut copier ce code exactement.
Merci encore.
Greg
"Greg" a écrit dans le message de news: cgdc7t$o30$
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Nicolas B.
Pour placer le code : Dans Excel, fais ALT + F11 pour ouvrir l'éditeur VBA. Dans le volet de gauche, tu as un genre d'explorateur. Double clique sur la feuille concernée puis tu colles le code dans la fenêtre qui s'affiche à droite :
Private Sub Worksheet_Change(ByVal Target As Range) Do i = i + 1 Loop While Cells(i, 7).Value <> "" ActiveSheet.PageSetup.PrintArea = Range([A1], _ [G1].Offset(i - 2)).Address End Sub
Pour le tableau en M1:S1000, remplace la ligne ActiveSheet.PageSetup.PrintArea = Range([A1], _ [G1].Offset(i - 2)).Address par ActiveSheet.PageSetup.PrintArea = Range([M1], _ [S1].Offset(i - 2)).Address
A+ Nicolas B.
Greg wrote:
J'ai copié le code mais ça ne fonctionne pas.
Peux tu me redonner la synthaxe pour un tableau se trouvant en M1:S1000 (j'ai essayé de modifier le code mais rien) et me dire où il faut copier ce code exactement.
Merci encore.
Greg
"Greg" a écrit dans le message de news: cgdc7t$o30$
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules
vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Pour placer le code : Dans Excel, fais ALT + F11 pour ouvrir l'éditeur
VBA. Dans le volet de gauche, tu as un genre d'explorateur. Double
clique sur la feuille concernée puis tu colles le code dans la fenêtre
qui s'affiche à droite :
Private Sub Worksheet_Change(ByVal Target As Range)
Do
i = i + 1
Loop While Cells(i, 7).Value <> ""
ActiveSheet.PageSetup.PrintArea = Range([A1], _
[G1].Offset(i - 2)).Address
End Sub
Pour le tableau en M1:S1000, remplace la ligne
ActiveSheet.PageSetup.PrintArea = Range([A1], _
[G1].Offset(i - 2)).Address
par
ActiveSheet.PageSetup.PrintArea = Range([M1], _
[S1].Offset(i - 2)).Address
A+
Nicolas B.
Greg wrote:
J'ai copié le code mais ça ne fonctionne pas.
Peux tu me redonner la synthaxe pour un tableau se trouvant en M1:S1000
(j'ai essayé de modifier le code mais rien) et me dire où il faut copier ce
code exactement.
Merci encore.
Greg
"Greg" <greglouchet@wanadoo.fr> a écrit dans le message de news:
cgdc7t$o30$1@news-reader1.wanadoo.fr...
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules
vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli
automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin
d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les
cellules vides, hé non !!!
Pour placer le code : Dans Excel, fais ALT + F11 pour ouvrir l'éditeur VBA. Dans le volet de gauche, tu as un genre d'explorateur. Double clique sur la feuille concernée puis tu colles le code dans la fenêtre qui s'affiche à droite :
Private Sub Worksheet_Change(ByVal Target As Range) Do i = i + 1 Loop While Cells(i, 7).Value <> "" ActiveSheet.PageSetup.PrintArea = Range([A1], _ [G1].Offset(i - 2)).Address End Sub
Pour le tableau en M1:S1000, remplace la ligne ActiveSheet.PageSetup.PrintArea = Range([A1], _ [G1].Offset(i - 2)).Address par ActiveSheet.PageSetup.PrintArea = Range([M1], _ [S1].Offset(i - 2)).Address
A+ Nicolas B.
Greg wrote:
J'ai copié le code mais ça ne fonctionne pas.
Peux tu me redonner la synthaxe pour un tableau se trouvant en M1:S1000 (j'ai essayé de modifier le code mais rien) et me dire où il faut copier ce code exactement.
Merci encore.
Greg
"Greg" a écrit dans le message de news: cgdc7t$o30$
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules
vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Vincent
Bonsoir Greg
A adapter
Sub Tri_impression() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la feuille Range("A2:G1000").Select Selection.AutoFilter Field:=1, Criteria1:="<>" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Selection.AutoFilter ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la feuille Application.ScreenUpdating = True End Sub
Cordialement
"Greg" a écrit dans le message de news:cgdc7t$o30$
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Bonsoir Greg
A adapter
Sub Tri_impression()
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la
feuille
Range("A2:G1000").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Selection.AutoFilter
ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la
feuille
Application.ScreenUpdating = True
End Sub
Cordialement
"Greg" <greglouchet@wanadoo.fr> a écrit dans le message de
news:cgdc7t$o30$1@news-reader1.wanadoo.fr...
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules
vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli
automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin
d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les
cellules vides, hé non !!!
Sub Tri_impression() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la feuille Range("A2:G1000").Select Selection.AutoFilter Field:=1, Criteria1:="<>" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Selection.AutoFilter ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la feuille Application.ScreenUpdating = True End Sub
Cordialement
"Greg" a écrit dans le message de news:cgdc7t$o30$
Bonjour à tous,
Voilà mon problème
J'ai un tableau qui s'étend de A1 à G1000.
A l'intérieur il y a des formules en SI de façon à avoir des cellules vides
("") selon les calculs.
Ansi lorsque les paramêtres du tableau sont entrés, le tableau se rempli automatiquement, il peut donc s'étendre de A2:G10 tout comme A2:G500.
Comment imprimer la (ou les feuilles) qui contiennent des données, afin d'éviter d'imprimer 110 pages (dont 109 de vierges).
Merci d'avance pour vos réponses.
Cordialement,
Greg
P.S. : je pensais qu'en definissant une zone d'impression il ignorerai les cellules vides, hé non !!!
Nicolas B.
Salut Vincent,
Il est à mon avis plus simple de modifier la propriété PrintAera de la feuille que d'utiliser un filtre auto pour n'imprimer que la plage nécessaire. Le test de chaque cellule une à une pour déterminer l'étendue à imprimer est, certes, peut-être (pas vérifié...) un peu plus long qu'un filtre auto ; mais avec PrintAera, le coup est rattrapé car aucune modification n'est appliquée à la feuille.
A+ Nicolas B.
Vincent wrote:
Bonsoir Greg
A adapter
Sub Tri_impression() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la feuille Range("A2:G1000").Select Selection.AutoFilter Field:=1, Criteria1:="<>" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Selection.AutoFilter ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la feuille Application.ScreenUpdating = True End Sub
Cordialement
Salut Vincent,
Il est à mon avis plus simple de modifier la propriété PrintAera de la
feuille que d'utiliser un filtre auto pour n'imprimer que la plage
nécessaire. Le test de chaque cellule une à une pour déterminer
l'étendue à imprimer est, certes, peut-être (pas vérifié...) un peu plus
long qu'un filtre auto ; mais avec PrintAera, le coup est rattrapé car
aucune modification n'est appliquée à la feuille.
A+
Nicolas B.
Vincent wrote:
Bonsoir Greg
A adapter
Sub Tri_impression()
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la
feuille
Range("A2:G1000").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Selection.AutoFilter
ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la
feuille
Application.ScreenUpdating = True
End Sub
Il est à mon avis plus simple de modifier la propriété PrintAera de la feuille que d'utiliser un filtre auto pour n'imprimer que la plage nécessaire. Le test de chaque cellule une à une pour déterminer l'étendue à imprimer est, certes, peut-être (pas vérifié...) un peu plus long qu'un filtre auto ; mais avec PrintAera, le coup est rattrapé car aucune modification n'est appliquée à la feuille.
A+ Nicolas B.
Vincent wrote:
Bonsoir Greg
A adapter
Sub Tri_impression() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la feuille Range("A2:G1000").Select Selection.AutoFilter Field:=1, Criteria1:="<>" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Selection.AutoFilter ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la feuille Application.ScreenUpdating = True End Sub
Cordialement
Vincent
Merci Nicolas. Bien vu ! @ +
"Nicolas B." a écrit dans le message de news:%
Salut Vincent,
Il est à mon avis plus simple de modifier la propriété PrintAera de la feuille que d'utiliser un filtre auto pour n'imprimer que la plage nécessaire. Le test de chaque cellule une à une pour déterminer l'étendue à imprimer est, certes, peut-être (pas vérifié...) un peu plus long qu'un filtre auto ; mais avec PrintAera, le coup est rattrapé car aucune modification n'est appliquée à la feuille.
A+ Nicolas B.
Vincent wrote:
Bonsoir Greg
A adapter
Sub Tri_impression() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la
feuille Range("A2:G1000").Select Selection.AutoFilter Field:=1, Criteria1:="<>" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Selection.AutoFilter ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la feuille Application.ScreenUpdating = True End Sub
Cordialement
Merci Nicolas.
Bien vu !
@ +
"Nicolas B." <nicolas.bruot@adresse.bidon.invalid> a écrit dans le message
de news:%23TeYE5UiEHA.632@TK2MSFTNGP12.phx.gbl...
Salut Vincent,
Il est à mon avis plus simple de modifier la propriété PrintAera de la
feuille que d'utiliser un filtre auto pour n'imprimer que la plage
nécessaire. Le test de chaque cellule une à une pour déterminer
l'étendue à imprimer est, certes, peut-être (pas vérifié...) un peu plus
long qu'un filtre auto ; mais avec PrintAera, le coup est rattrapé car
aucune modification n'est appliquée à la feuille.
A+
Nicolas B.
Vincent wrote:
Bonsoir Greg
A adapter
Sub Tri_impression()
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur
la
feuille
Range("A2:G1000").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Selection.AutoFilter
ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la
feuille
Application.ScreenUpdating = True
End Sub
Il est à mon avis plus simple de modifier la propriété PrintAera de la feuille que d'utiliser un filtre auto pour n'imprimer que la plage nécessaire. Le test de chaque cellule une à une pour déterminer l'étendue à imprimer est, certes, peut-être (pas vérifié...) un peu plus long qu'un filtre auto ; mais avec PrintAera, le coup est rattrapé car aucune modification n'est appliquée à la feuille.
A+ Nicolas B.
Vincent wrote:
Bonsoir Greg
A adapter
Sub Tri_impression() Application.ScreenUpdating = False ActiveSheet.Unprotect Password:="toto" ' si il y a un mot de passe sur la
feuille Range("A2:G1000").Select Selection.AutoFilter Field:=1, Criteria1:="<>" ActiveWindow.SelectedSheets.PrintOut Copies:=1 Selection.AutoFilter ActiveSheet.Protect Password:="toto" ' si il y a un mot de passe sur la feuille Application.ScreenUpdating = True End Sub