OVH Cloud OVH Cloud

impression par macro

4 réponses
Avatar
fredbzr
Bonjour à tous
J'utilise les 3 codes suivant pour un tableau excel
Mon soucis est que j'ai une erreur 1004 : impossible de lire la propriété
interior de la classe range
Le problème survient lorsque je veux lancer l'impression (par le bouton que
j'ai créé n°16)

Dans la feuille pour avoir l'impression adaptée automatiquement à la taille
du tableau
Private Sub CommandButton16_Click()
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range("W1", Range("A504").End(xlUp)).PrintOut
End Sub

Dans le workbook pour enlever le surlignage à l'impression
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Interior.ColorIndex = xlNone 'Ici est mon problème 1004
.Protect Password:="toto"
End With
End Sub

Dans la feuille pour effectuer un surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:W504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub

Quelqu'un peut-il m'aider ?
Merci d'avance pour vos réponses


Fred

4 réponses

Avatar
Youky
salut bien ,
sous doute avec un point avant le Range fautif.
non testé, mais forte chance que cela rentre dans l'ordre
Youky
"fredbzr" a écrit dans le message de news:
44577c8b$0$1338$
Bonjour à tous
J'utilise les 3 codes suivant pour un tableau excel
Mon soucis est que j'ai une erreur 1004 : impossible de lire la propriété
interior de la classe range
Le problème survient lorsque je veux lancer l'impression (par le bouton
que j'ai créé n°16)

Dans la feuille pour avoir l'impression adaptée automatiquement à la
taille du tableau
Private Sub CommandButton16_Click()
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range("W1", Range("A504").End(xlUp)).PrintOut
End Sub

Dans le workbook pour enlever le surlignage à l'impression
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Interior.ColorIndex = xlNone 'Ici est mon problème 1004
.Protect Password:="toto"
End With
End Sub

Dans la feuille pour effectuer un surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:W504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub

Quelqu'un peut-il m'aider ?
Merci d'avance pour vos réponses


Fred



Avatar
fredbzr
Merci de cette réponse rapide,
je viens de l'essayer et j'ai toujours le même message d'erreur
Une autre idée?
"Youky" a écrit dans le message de news:

salut bien ,
sous doute avec un point avant le Range fautif.
non testé, mais forte chance que cela rentre dans l'ordre
Youky
"fredbzr" a écrit dans le message de news:
44577c8b$0$1338$
Bonjour à tous
J'utilise les 3 codes suivant pour un tableau excel
Mon soucis est que j'ai une erreur 1004 : impossible de lire la propriété
interior de la classe range
Le problème survient lorsque je veux lancer l'impression (par le bouton
que j'ai créé n°16)

Dans la feuille pour avoir l'impression adaptée automatiquement à la
taille du tableau
Private Sub CommandButton16_Click()
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range("W1", Range("A504").End(xlUp)).PrintOut
End Sub

Dans le workbook pour enlever le surlignage à l'impression
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Interior.ColorIndex = xlNone 'Ici est mon problème 1004
.Protect Password:="toto"
End With
End Sub

Dans la feuille pour effectuer un surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:W504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub

Quelqu'un peut-il m'aider ?
Merci d'avance pour vos réponses


Fred







Avatar
anonymousA
Bonjour,

il n'y a pas d'erreur de syntaxe et le code semble fonctionner sans
difficulté sur un exemple basique.
Cette ligne de code aurait t-elle un problème quand exécutée seule dans
les mêmes conditions depuis une sub différente?

A+

Merci de cette réponse rapide,
je viens de l'essayer et j'ai toujours le même message d'erreur
Une autre idée?
"Youky" a écrit dans le message de news:


salut bien ,
sous doute avec un point avant le Range fautif.
non testé, mais forte chance que cela rentre dans l'ordre
Youky
"fredbzr" a écrit dans le message de news:
44577c8b$0$1338$

Bonjour à tous
J'utilise les 3 codes suivant pour un tableau excel
Mon soucis est que j'ai une erreur 1004 : impossible de lire la propriété
interior de la classe range
Le problème survient lorsque je veux lancer l'impression (par le bouton
que j'ai créé n°16)

Dans la feuille pour avoir l'impression adaptée automatiquement à la
taille du tableau
Private Sub CommandButton16_Click()
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range("W1", Range("A504").End(xlUp)).PrintOut
End Sub

Dans le workbook pour enlever le surlignage à l'impression
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Interior.ColorIndex = xlNone 'Ici est mon problème 1004
.Protect Password:="toto"
End With
End Sub

Dans la feuille pour effectuer un surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:W504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub

Quelqu'un peut-il m'aider ?
Merci d'avance pour vos réponses


Fred











Avatar
fredbzr
Bonsoir
Le code de surlignage et celui de l'impression fonctionne bien l'un sans
l'autre
c'est lorsqu'ils sont ensemble et que je rajoute le code dans le workbook
pour ne pas avoir le surlignage à l'impression qu'il y a un problème 1004
"anonymousA" a écrit dans le message de news:
4457b5ec$0$29226$
Bonjour,

il n'y a pas d'erreur de syntaxe et le code semble fonctionner sans
difficulté sur un exemple basique.
Cette ligne de code aurait t-elle un problème quand exécutée seule dans
les mêmes conditions depuis une sub différente?

A+

Merci de cette réponse rapide,
je viens de l'essayer et j'ai toujours le même message d'erreur
Une autre idée?
"Youky" a écrit dans le message de news:


salut bien ,
sous doute avec un point avant le Range fautif.
non testé, mais forte chance que cela rentre dans l'ordre
Youky
"fredbzr" a écrit dans le message de news:
44577c8b$0$1338$

Bonjour à tous
J'utilise les 3 codes suivant pour un tableau excel
Mon soucis est que j'ai une erreur 1004 : impossible de lire la
propriété interior de la classe range
Le problème survient lorsque je veux lancer l'impression (par le bouton
que j'ai créé n°16)

Dans la feuille pour avoir l'impression adaptée automatiquement à la
taille du tableau
Private Sub CommandButton16_Click()
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range("W1", Range("A504").End(xlUp)).PrintOut
End Sub

Dans le workbook pour enlever le surlignage à l'impression
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Interior.ColorIndex = xlNone 'Ici est mon problème
1004
.Protect Password:="toto"
End With
End Sub

Dans la feuille pour effectuer un surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:W504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub

Quelqu'un peut-il m'aider ?
Merci d'avance pour vos réponses


Fred