Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion :
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion :
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion :
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion :
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion :
#hnqrCdFKHA.3800@TK2MSFTNGP04.phx.gbl...
MichDenis a écrit :
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion :
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#hnqrCdFKHA.3800@TK2MSFTNGP04.phx.gbl...
MichDenis a écrit :
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion :
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion :
u2R4m2dFKHA.3696@TK2MSFTNGP02.phx.gbl...
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#hnqrCdFKHA.3800@TK2MSFTNGP04.phx.gbl...
MichDenis a écrit :
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion :
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion :
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion :
u2R4m2dFKHA.3696@TK2MSFTNGP02.phx.gbl...
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#hnqrCdFKHA.3800@TK2MSFTNGP04.phx.gbl...
MichDenis a écrit :
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion :
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion
:
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de
discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
u2R4m2dFKHA.3696@TK2MSFTNGP02.phx.gbl...
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#hnqrCdFKHA.3800@TK2MSFTNGP04.phx.gbl...
MichDenis a écrit :
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de
discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion
:
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de
discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Merci Thierry,
(je n'avais pas vraiment testé la dernière procédure)
;-)
Tu devrais conserver la paramètre "LookIn:=xlValues"
Si dans ta feuille, tu as une cellule contenant une formule
retournant "" , c'est sur elle que sera déterminé la dernière
colonne et dernière ligne. Et comme tu ne veux pas imprimer
des lignes ou colonnes vides ...
Pour déterminer l'étendue de la plage de cellules d'une feuille
en évitant d'inclure les lignes ou colonnes vides qu'elles soient
situées en début ou à la fin de la plage.
'-----------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Test")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
Rg.Activate
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
' .PrintPreview
' .PageSetup.PrintArea = ""
End With
End Sub
'-----------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion :
Bonsoir,
J'ai modifié, et c'est ok:
DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
DerCol = .Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Pour PremLigne et PremCol c'est la solution de MichDenis
Cdt
MichDenis a écrit :Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion
:
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de
discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Merci Thierry,
(je n'avais pas vraiment testé la dernière procédure)
;-)
Tu devrais conserver la paramètre "LookIn:=xlValues"
Si dans ta feuille, tu as une cellule contenant une formule
retournant "" , c'est sur elle que sera déterminé la dernière
colonne et dernière ligne. Et comme tu ne veux pas imprimer
des lignes ou colonnes vides ...
Pour déterminer l'étendue de la plage de cellules d'une feuille
en évitant d'inclure les lignes ou colonnes vides qu'elles soient
situées en début ou à la fin de la plage.
'-----------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Test")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
Rg.Activate
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
' .PrintPreview
' .PageSetup.PrintArea = ""
End With
End Sub
'-----------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion :
eJc5Z9eFKHA.3816@TK2MSFTNGP04.phx.gbl...
Bonsoir,
J'ai modifié, et c'est ok:
DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
DerCol = .Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Pour PremLigne et PremCol c'est la solution de MichDenis
Cdt
MichDenis a écrit :
Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
u2R4m2dFKHA.3696@TK2MSFTNGP02.phx.gbl...
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :
Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de discussion
:
#hnqrCdFKHA.3800@TK2MSFTNGP04.phx.gbl...
MichDenis a écrit :
Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" <thierry.magnac@orange.fr> a écrit dans le message de groupe de
discussion
:
#ZXPsjbFKHA.3420@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt
Merci Thierry,
(je n'avais pas vraiment testé la dernière procédure)
;-)
Tu devrais conserver la paramètre "LookIn:=xlValues"
Si dans ta feuille, tu as une cellule contenant une formule
retournant "" , c'est sur elle que sera déterminé la dernière
colonne et dernière ligne. Et comme tu ne veux pas imprimer
des lignes ou colonnes vides ...
Pour déterminer l'étendue de la plage de cellules d'une feuille
en évitant d'inclure les lignes ou colonnes vides qu'elles soient
situées en début ou à la fin de la plage.
'-----------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Test")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
Rg.Activate
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
' .PrintPreview
' .PageSetup.PrintArea = ""
End With
End Sub
'-----------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion :
Bonsoir,
J'ai modifié, et c'est ok:
DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
DerCol = .Cells.Find("*", , , , xlByColumns, xlPrevious).Column
Pour PremLigne et PremCol c'est la solution de MichDenis
Cdt
MichDenis a écrit :Ben tu voulais éliminer les lignes vides et les colonnes vides
de la plage d'impression. La colonne A:A est vide et ne fait pas
parti de la zone d'impression.
Ceci était mon dernier message sur ce fil. Tu as suffisamment
d'informations sur le sujet pour modifier la procédure si besoin il y a !
"Thierry 46" a écrit dans le message de groupe de discussion
:
Re,
Si tu as le temps j'ai joint le fichier.
Il y a un cas où les coordonnées bas-droit ne sont pas prises en compte.
J'ai fait Rg.select pour le vérifier de visu.
http://cjoint.com/?ifq4oYU4m0
Cdt
MichDenis a écrit :Essaie ceci :
'--------------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim PremLig As Long, PremCol As Integer
Dim Rg As Range, Depart As String
With Worksheets("Feuil2")
With .UsedRange
Depart = .Cells(.Rows.Count, .Columns.Count).Address
If Depart = .Range("A1").Address Then Exit Sub
End With
PremLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext).Row
DerLig = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
PremCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext).Column
DerCol = .Cells.Find(What:="*", _
After:=.Range(Depart), _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range(.Cells(PremLig, PremCol), .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'--------------------------------------------------
"Thierry 46" a écrit dans le message de groupe de discussion
:
#
MichDenis a écrit :Bonjour Thierry,
La procédure suivante imprime "TOUT" le contenu de
la "Feuil1" sur une "MÊME" feuille.
'---------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Integer
Dim Rg As Range
With Worksheets("Feuil1")
DerLig = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set Rg = .Range("A1", .Cells(DerLig, DerCol))
With .PageSetup
.PrintArea = Rg.Address
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
.PrintOut
.PageSetup.PrintArea = ""
End With
End Sub
'---------------------------------------
"Thierry 46" a écrit dans le message de groupe de
discussion
:
#
Bonjour,
Je souhaiterai faire en VBA:
- selection: une zone d'impression de tout le contenu (de la première
ligne utilisée à la dernière ligne, idem colonne)
- de pouvoir imprimer sur une page en largeur, la longueur implicite
- de pouvoir mettre un en_tête, etc..
ActiveSheet.PageSetup.PrintArea = tout le texte selectionné
Pourrais-je avoir un début de piste pour pouvoir faire cette selection ?
Merci
Re bonjour,
Merci
En effet je n'étais pas près d'y arriver.
What:="*" : ? pointe sur la dernière ligne et colonne ?
J'ai parfois un fichier qui ne commence pas en A1, par exemple en C3. Le
mieux est-il de supprimer les lignes et colonnes vides ou bien
rechercher la PremiereColonne et la PremiereLigne ? et Comment ?
Cdt