Zone d'impression définie par code VBA  Sujet résolu

Vous pouvez poser ici vos questions à propos d'Excel et répondre aux questions des autres membres ...

Zone d'impression définie par code VBA

Messagepar Yvouille » 07 Sep 2010, 06:54

Bonjour,

J'aurais voulu transformé ce code afin que la zone d'impression soit définie non seulement par le nombre de lignes, mais également par le nombre de colonnes, selon la variable DerCol. Pourriez-vous m'y aider ?

Code: Tout sélectionner
Sub Macro1()

Dim DerLig As Integer, DerCol As Integer

DerLig = Range("C" & Rows.Count).End(xlUp).Row
DerCol = Cells(3, 16384).End(xlToLeft).Column

ActiveSheet.PageSetup.PrintArea = "$A$1:$F$" & DerLig
   
End Sub


Bonne journée
Yvouille
Avatar de l’utilisateur
Yvouille
Membre impliqué
 
Messages: 1732
Inscription: 06 Avr 2007, 06:03
Localisation: CH - Valais de cœur
Version Excel: 2007 FR, 2003 All.

Re: Zone d'impression définie par code VBA

Messagepar Dan » 07 Sep 2010, 07:26

Bonjour,

La plage concernée à imprimer est toujours celle de toute ta feuille ou uniquement ce que tu définis suivant les critères Dercol et derlig ??
En gros tu pourrais par exemple avoir des données en colonnes A à G mais ne vouloir imprimer que les colonnes B à G.

A te relire

Edit Dan : essaie comme ceci
Code: Tout sélectionner
Sub tes()
Dim DerLig As Integer, DerCol As Integer
With ActiveSheet
DerLig = .Range("C" & Rows.Count).End(xlUp).Row
DerCol = .Cells(3, Columns.Count).End(xlToLeft).Column
ActiveSheet.PageSetup.PrintArea = .Range(Cells(1, 1).Address & ":" & Cells(DerLig, DerCol).Address)
End With
End Sub

En fonction de ta réponse sur ma question avant, le code peut être beaucoup plus simple.

A te relire
@+ Dan ;)
Avatar de l’utilisateur
Dan
Modérateur
 
Messages: 2219
Inscription: 27 Avr 2007, 14:31
Localisation: Liège - Belgique
Version Excel: 2010, 2003, 2000, Mac 2004

Re: Zone d'impression définie par code VBA

Messagepar Yvouille » 07 Sep 2010, 10:48

Salut Dan, merci pour ta réponse,

J'aurais vraiment voulu définir une zone d'impression selon le nombre de lignes concernées de la colonne C et le nombre de colonnes de la ligne 3. Il peut y avoir des valeurs dans les autres colonnes et lignes qui ne devraient pas influencer l'impression.

J'ai fait un premier essai avec le code proposé. Malheureusement ça bloque sur la ligne
Code: Tout sélectionner
ActiveSheet.PageSetup.PrintArea = .Range(Cells(1, 1).Address & ":" & Cells(DerLig, DerCol).Address)


A te relire.
Yvouille
Avatar de l’utilisateur
Yvouille
Membre impliqué
 
Messages: 1732
Inscription: 06 Avr 2007, 06:03
Localisation: CH - Valais de cœur
Version Excel: 2007 FR, 2003 All.

Re: Zone d'impression définie par code VBA

Messagepar Dan » 07 Sep 2010, 11:13

re,

Bizarre je n'ai pas de souci.

Au moment du blocage dans ton code que vaut "Derlig" et "Dercol" ??

A te relire
@+ Dan ;)
Avatar de l’utilisateur
Dan
Modérateur
 
Messages: 2219
Inscription: 27 Avr 2007, 14:31
Localisation: Liège - Belgique
Version Excel: 2010, 2003, 2000, Mac 2004

Re: Zone d'impression définie par code VBA

Messagepar cousinhub » 07 Sep 2010, 11:36

Bonsoir,
Bonsoir, Dan :)

Je pense que le souci vient du point que tu as devant .Range (Tu ne fais pas de référence à aucune Feuille...)

Essaie ainsi :

Code: Tout sélectionner
With ActiveSheet
    .PageSetup.PrintArea = .Range(.Cells(1, 1).Address & ":" & .Cells(DerLig, DerCol).Address)
End With
 


Bonne soirée
1/ on se demande à quoi servent les correcteurs d'orthographe....
2/ Notre seule récompense est un "Merci".....
cousinhub
Membre dévoué
 
Messages: 860
Inscription: 28 Mai 2009, 21:18
Localisation: Brest
Version Excel: xl 2003, xl 2007

Re: Zone d'impression définie par code VBA

Messagepar Dan » 07 Sep 2010, 11:48

re,

Si Cousinhub dans le code plus haut que j'ai proposé nous sommes dans un With Activesheet.
Chez moi pas de soucis, cela fonctionne.
PAr contre on peut comme tu l'as fait, supprimer l'instruction Activesheet et mettre les . devant Cells.

Attendons voir....
@+ Dan ;)
Avatar de l’utilisateur
Dan
Modérateur
 
Messages: 2219
Inscription: 27 Avr 2007, 14:31
Localisation: Liège - Belgique
Version Excel: 2010, 2003, 2000, Mac 2004

Re: Zone d'impression définie par code VBA

Messagepar Yvouille » 07 Sep 2010, 12:38

Bonjour Dan et Cousinhub,

J'ai encore fait des essais avec une deuxième feuille et les résultats sont différents mais toujours pas concluants (!).

Sur la feuille "Zone d'impression", la macro bloque ; sur la "Feuil1", apparament rien ne se passe en final.

Dans les deux cas, les variables prennent les bonnes valeurs à un certain moment.

A vous relire.
Fichiers joints
Zone d'impression.xlsm
(25.53 Kio) Téléchargé 9 fois
Yvouille
Avatar de l’utilisateur
Yvouille
Membre impliqué
 
Messages: 1732
Inscription: 06 Avr 2007, 06:03
Localisation: CH - Valais de cœur
Version Excel: 2007 FR, 2003 All.

Re: Zone d'impression définie par code VBA

Messagepar cousinhub » 07 Sep 2010, 13:02

Re-,

@ Dan, effectivement, scuse, je n'avais point lu ton code.... :roll:

@ Yvouille, il te manque,d'une part, les "." (points), comme je te l'avais indiqué, mais pour déterminer une plage d'impression, il faut mettre l'adresse voulue

Essaie ainsi :

Code: Tout sélectionner
Sub tes()
Dim DerLig As Integer, DerCol As Integer
With ActiveSheet
    DerLig = .Range("C" & Rows.Count).End(xlUp).Row
    DerCol = .Cells(3, Columns.Count).End(xlToLeft).Column
    .PageSetup.PrintArea = .Range(.Cells(1, 1).Address & ":" & .Cells(DerLig, DerCol).Address).Address
End With
End Sub
 


Bonne soirée
1/ on se demande à quoi servent les correcteurs d'orthographe....
2/ Notre seule récompense est un "Merci".....
cousinhub
Membre dévoué
 
Messages: 860
Inscription: 28 Mai 2009, 21:18
Localisation: Brest
Version Excel: xl 2003, xl 2007

Re: Zone d'impression définie par code VBA  Sujet résolu

Messagepar Yvouille » 07 Sep 2010, 13:42

Superbe, comme ça, ça foncionne parfaitement.

Merci beaucoup à tous deux pour votre précieuse aide.

Bonnes salutations.
Yvouille
Avatar de l’utilisateur
Yvouille
Membre impliqué
 
Messages: 1732
Inscription: 06 Avr 2007, 06:03
Localisation: CH - Valais de cœur
Version Excel: 2007 FR, 2003 All.


Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Google Adsense [Bot], ricktnt et 14 invités