OVH Cloud OVH Cloud

Pbl d'impression en VBA

1 réponse
Avatar
zorro31
Bonjour,

J'ai petit probl=E8me d'impression par VBA. Je r=E9cup=E9re des=20
donn=E9es depuis Access que je r=E9cup=E9re dans Excel et je=20
souhaite r=E9cup=E9rer l'adresse de la plage de mes donn=E9es. .=20
Mon probl=E8me est le suivant: Je r=E9cup=E9re des donn=E9es=20
jusqu'=E0 la colonne T. Dans cette colonne je peux avoir des=20
champs sans des donn=E9es ou avec des donn=E9es. Je sais que=20
je peux me fier qu'=E0 la colonne A car j'aurais toujours=20
des donn=E9es. Mon objectif est de r=E9cup=E9rer l'adresse du=20
dernier champ dans cette colonne A puis de faire un offset=20
pour r=E9cup=E9rer l'adresse de la cellule dans la colonne T.=20
Comment faire pour r=E9cup=E9rer l'adresse de la derni=E8re=20
cellule en A qui a une donn=E9e?.

J'ai fais ceci mais cela ne marche pas sur cette ligne.=20
Pour l'instant je ne m'occupe pas de l'offset.
For Each cell In Sh1.Range("A11:A65536")
juju =3D Range("A11", Range("A" & cell.Row).End
(xIDown)).Address
Next cell


Sub Testy()

Dim juju As Variant
Dim Sh1 As Worksheet

Set Sh1 =3D Worksheets("AM_PRINCIPAL102")

For Each cell In Sh1.Range("A11:A65536")
juju =3D Range("A11", Range("A" & cell.Row).End
(xIDown)).Address
Next cell


juju =3D juju

With Sh1
.PageSetup.PrintArea =3D Sh.Range("A1:" & juju)
.PageSetup.Orientation =3D xlLandscape
.PageSetup.PrintTitleRows =3D 8
.PageSetup.Zoom =3D 80
'.PrintOut Copies:=3D1, Collate:=3DTrue
End With

End Sub

Merci de votre aide,

Zorro31

1 réponse

Avatar
Jean-François Aubert
Salut zorro,
Si j'ai bien compris, tu désires définir la zone d'impession :
- A1 à T et dernière ligne renseignée de colonne A
- répétition des 8 premières lignes sur chaque pages imprimmées

Sub ZoneImpression()
Dim juju
Dim Sh1 As Worksheet

Set Sh1 = Worksheets("AM_PRINCIPAL102")
juju = Range("A65536").End(xlUp).Row

With Sh1
.PageSetup.PrintArea = "A1:T" & juju
.PageSetup.Orientation = xlLandscape
.PageSetup.PrintTitleRows = "$1:$8"
.PageSetup.Zoom = 80
'.PrintOut Copies:=1, Collate:=True
End With

Set Sh1 = Nothing
End Sub


--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"zorro31" a écrit dans le message de
news:034f01c3909b$6acd35b0$

Bonjour,

J'ai petit problème d'impression par VBA. Je récupére des
données depuis Access que je récupére dans Excel et je
souhaite récupérer l'adresse de la plage de mes données. .
Mon problème est le suivant: Je récupére des données
jusqu'à la colonne T. Dans cette colonne je peux avoir des
champs sans des données ou avec des données. Je sais que
je peux me fier qu'à la colonne A car j'aurais toujours
des données. Mon objectif est de récupérer l'adresse du
dernier champ dans cette colonne A puis de faire un offset
pour récupérer l'adresse de la cellule dans la colonne T.
Comment faire pour récupérer l'adresse de la dernière
cellule en A qui a une donnée?.

J'ai fais ceci mais cela ne marche pas sur cette ligne.
Pour l'instant je ne m'occupe pas de l'offset.
For Each cell In Sh1.Range("A11:A65536")
juju = Range("A11", Range("A" & cell.Row).End
(xIDown)).Address
Next cell


Sub Testy()

Dim juju As Variant
Dim Sh1 As Worksheet

Set Sh1 = Worksheets("AM_PRINCIPAL102")

For Each cell In Sh1.Range("A11:A65536")
juju = Range("A11", Range("A" & cell.Row).End
(xIDown)).Address
Next cell


juju = juju

With Sh1
.PageSetup.PrintArea = Sh.Range("A1:" & juju)
.PageSetup.Orientation = xlLandscape
.PageSetup.PrintTitleRows = 8
.PageSetup.Zoom = 80
'.PrintOut Copies:=1, Collate:=True
End With

End Sub

Merci de votre aide,

Zorro31