Bonne impression ! ;-)))

A

ANASTASIA

Guest
Hello ! Bonjour à toutes et à toutes !

Une ch'tite question svp...

J'ai une macro commande qui me lance un fichier Excel, ce dernier est au format "Portrait".

Voici ma requete : Quelle serait la ligne de commande VBA à rajouter dans ma macro, pour lui faire prendre le format paysage ?

Merci et excellent vendredi à toutes et à tous !

Ana
 
M

Michel

Guest
Bonjour Anastasia,

Voici un petit code :

Sub imprimer()
With ActiveSheet.PageSetup
.Orientation = xlLandscape
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

J'espère que ça ira
@ plus
Michel
 
A

ANASTASIA

Guest
Merci Michel,

J'ai des difficultés à trouver l'endroit ou inserer cette commande dans ma macro ci-dessous.
De plus, je ne voudrais pas, par cette commande, Lancer l'impression, seulement modifier la mise en page en Paysage !
Aurais tu la gentillesse de m'incrémenter cette commande dans ma macro ci-dessous ?

Milles merci Michel.

Ana

*********************************************************

Sub CONTROLE_GGP()
'
' FICHIER_CCG Macro
' Macro enregistrée le 18/10/02 par XXX
'

NOMFICH1 = Application.GetOpenFilename("Fich.texte,*.")

'

Workbooks.OpenText FileName:=NOMFICH1, Origin:= _
xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, _
1), Array(28, 2), Array(34, 2), Array(40, 1), Array(58, 1), Array(76, 2), Array(82, 2))
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Range("A1").Select
ActiveCell.FormulaR1C1 = "MTO"
Range("B1").Select
ActiveCell.FormulaR1C1 = "D1"
Range("C1").Select
ActiveCell.FormulaR1C1 = "D1"
Range("D1").Select
ActiveCell.FormulaR1C1 = "CHASSIS"
Range("E1").Select
ActiveCell.FormulaR1C1 = "ENGINE"
Range("F1").Select
ActiveCell.FormulaR1C1 = "PALETTE"
Range("G1").Select
ActiveCell.FormulaR1C1 = "INC INVOICE"
Range("F1").Select
Columns("A:A").EntireColumn.AutoFit
Range("A1").Select
Columns("D:D").EntireColumn.AutoFit
Columns("E:E").EntireColumn.AutoFit

ActiveWindow.SmallScroll Down:=0

RECH_DBLE

Range("A1").Select
Selection.CurrentRegion.Select
Selection.Name = "BDD"



ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"BDD", TableDestination:="", TableName:= _
"Tableau croisé dynamique2"
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PALETTE"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
Array("MTO", "PALETTE")
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("CHASSIS"). _
Orientation = xlDataField
Columns("A:A").EntireColumn.AutoFit





Range("A1").Select
ActiveCell = NOMFICH1
End Sub

Sub RECH_DBLE()
'
' RECH_DOUBLE Macro
' Macro enregistrée le 21/07/99 par JPG
'

'Tri de la sélection par MTO CHASSIS
Range("A1").Select
'Selection.CurrentRegion.Select
'Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("E2") _
, Order2:=xlAscending, Key3:=Range("B2"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
' Range("A1").Select


Selection.CurrentRegion.Select
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("D2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom




' Initialisation de la variable
MTO = ActiveCell

CHASSIS = "CHASSIS"
MTO1 = ""
CHASSIS1 = ""

' On part du haut
Do Until MTO = ""
'On descend d'une case
ActiveCell.Offset(1, 0).Range("A1").Select
MTO = ActiveCell
' MsgBox (MTO)
'On se décale de 4 cases pour chercher le chassis
ActiveCell.Offset(0, 3).Range("A1").Select
CHASSIS = ActiveCell
' MsgBox (CHASSIS)

If MTO = MTO1 And CHASSIS = CHASSIS1 Then

TT = CVar(CHASSIS)
Beep
Beep

MsgBox ("DOUBLON :" & MTO & "-" & TT)
End If
CHASSIS1 = CHASSIS
MTO1 = MTO
'On revient à gauche sur la même ligne
ActiveCell.Offset(0, -3).Range("A1").Select
Loop

End Sub
 
P

Pascal76

Guest
Re

Tiens une petite modif sur une de tes macros avec ajout mise en page

Sub CONTROLE_GGP()
'
' FICHIER_CCG Macro
' Macro enregistrée le 18/10/02 par XXX
'

NOMFICH1 = Application.GetOpenFilename("Fich.texte,*.")

Workbooks.OpenText FileName:=NOMFICH1, Origin:= _
xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, _
1), Array(28, 2), Array(34, 2), Array(40, 1), Array(58, 1), Array(76, 2), Array(82, 2))
Rows("1:1").Select
Selection.Insert Shift:=xlDown
Range("A1") = "MTO"
Range("B1") = "D1"
Range("C1") = "D1"
Range("D1") = "CHASSIS"
Range("E1") = "ENGINE"
Range("F1") = "PALETTE"
Range("G1") = "INC INVOICE"
Columns("A:A").EntireColumn.AutoFit
Columns("D:E").EntireColumn.AutoFit

ActiveWindow.SmallScroll Down:=0

RECH_DBLE

Range("A1").Select
Selection.CurrentRegion.Select
Selection.Name = "BDD"

ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"BDD", TableDestination:="", TableName:= _
"Tableau croisé dynamique2"
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("PALETTE"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
Array("MTO", "PALETTE")
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("CHASSIS"). _
Orientation = xlDataField
Columns("A:A").EntireColumn.AutoFit


Range("A1").Select
ActiveCell = NOMFICH1

ActiveSheet.PageSetup.Orientation = xlLandscape

End Sub

Pascal
 
M

Michel

Guest
Bonjour à tous,
Je vois que Pascal à été plus rapide que moi, je te joins quand même le fichier modifier, j'ai mis la configuration de l'imprimante dans le Workbook_Open.
@ plus
Michel
 

Pièces jointes

  • Anastasia.zip
    10.1 KB · Affichages: 18
A

ANASTASIA

Guest
Bingo Pascal ! Ca marche !!!

Une toute dernière petite chose si tu me le permets Pascal, est t'il possible que cette macro, toujours la meme, ouvre directement ce Répertoire, que j'ai, sur mon réseau d'entreprise ?

M:\Production Dpt\0 EXTERNE PROD\E-MAIL résultats productions\GGP ALPINA - DAT

Si oui, quel serait la ligne de commande à inserrer et ou ?

Merci à toi Pascal !!!
 
A

ANASTASIA

Guest
En faite, je voudrais quand cliquant sur mon bouton lancant ma macro, cela m'ouvre ce répertoire via l'éxplorateur.

C'est certainement une ligne comme celle que tu a fait, mais la placer ou dans ma macro ?

Ana
 
A

ANASTASIA

Guest
Excuses moi si je m'exprime mal ......

En faite, je reçois des Fichiers par E.Mail en *.dat que je dois traiter sous Excel ensuite.

Ces fichiers je les détache de ma messagerie pour les copier dans ce fameux répertoire ---> M:\Production Dpt\0 EXTERNE PROD\E-MAIL résultats productions\GGP ALPINA - DAT

Ensuite, pour traiter ces fichiers .dat, il faut :

1/ Que je lance Excel
2/ Que je clic mon bouton que j'ai créé pour lancer cette macro
3/ Cette dernière m'ouvre une mini boite style explorateur.
4/ De cette boite, je vais dans le répertoire spécifique chercher mon fichier*.dat
5/ J'ouvre ce fichier et la macro, automatiquement, fait son oeuvre, c'est à dire qu'elle me resente le document sous une certaine forme, exploitable pour moi.

Je voudrais que cette macro, au niveau 3, m'ouvre directement au repertoire voulu ou je sock mes fichiers !

Milles merci à toi Pascal pour ton aide !
 
P

Pascal76

Guest
ok

mets ceci en début de macro

Sub CONTROLE_GGP()
'
' FICHIER_CCG Macro
' Macro enregistrée le 18/10/02 par XXX
'
ChDir "M:\Production Dpt\0 EXTERNE PROD\E-MAIL résultats productions\GGP ALPINA - DAT\"

Application.Dialogs(xlDialogOpen).Show


et le reste de ta macro ici



Bon courage

Pascal
 
P

Pascal76

Guest
oups une ligne oubliée


Sub CONTROLE_GGP()
'
' FICHIER_CCG Macro
' Macro enregistrée le 18/10/02 par XXX
'
ChDrive "M" <<<<<<< Cette ligne

ChDir "M:\Production Dpt\0 EXTERNE PROD\E-MAIL résultats productions\GGP ALPINA - DAT\"

Application.Dialogs(xlDialogOpen).Show


et le reste de ta macro ici


Bon courage

Pascal
 

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 996
Membres
103 423
dernier inscrit
Guyom GIL