Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Automatisation d'impression par macro

15 réponses
Avatar
Eric C
Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir annexe).

http://cjoint.com/?AGstXLDuUnk

Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…

Pour que le "controleur" puisse voir ce qui est calculé, je dois
imprimer la même feuille avec entête des lignes et des colonnes ET la
feuille des formules utilisées avec entête des lignes et des colonnes.

Je voudrais faire une macro pour imprimer tout cela automatiquement,
j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
certain qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lignes
-imprimer la feuille avec les formules et les noms des colonnes et
lignes (ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille

Merci de votre aide précieuse.

10 réponses

1 2
Avatar
DanielCo
Bonjour,

Sub Imprim()
With Sheets("Feuil1")
.PageSetup.PrintHeadings = False
.PrintPreview
.PageSetup.PrintHeadings = True
.PrintPreview
.Select
ActiveWindow.DisplayFormulas = True
.PrintPreview
ActiveWindow.DisplayFormulas = False
End With
ActiveWorkbook.Save
End Sub

Daniel


Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir annexe).

http://cjoint.com/?AGstXLDuUnk

Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…

Pour que le "controleur" puisse voir ce qui est calculé, je dois imprimer la
même feuille avec entête des lignes et des colonnes ET la feuille des
formules utilisées avec entête des lignes et des colonnes.

Je voudrais faire une macro pour imprimer tout cela automatiquement, j’ai
essayé avec l’enregistreur de macros mais je m’y perds et je suis certain
qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lignes
-imprimer la feuille avec les formules et les noms des colonnes et lignes
(ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille

Merci de votre aide précieuse.



--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel
Avatar
LSteph
Bonjour,

Sub Imprim3()
With Feuil1
.Activate
.PageSetup.PrintHeadings = False
.PrintOut
.PageSetup.PrintHeadings = True
.PrintOut

ActiveWindow.DisplayFormulas = True
.PrintOut
ActiveWindow.DisplayFormulas = False
End With
ActiveWorkbook.Save
End Sub

'LSteph



On Jul 18, 7:52 pm, Eric C wrote:
Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir annexe).

http://cjoint.com/?AGstXLDuUnk

Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…

Pour que le "controleur" puisse voir ce qui est calculé, je dois
imprimer la même feuille avec entête des lignes et des colonnes ET la
feuille des formules utilisées avec entête des lignes et des colonnes .

Je voudrais faire une macro pour imprimer tout cela automatiquement,
j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
certain qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lig nes
-imprimer la feuille avec les formules et les noms des colonnes et
lignes (ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille

Merci de votre aide précieuse.
Avatar
LSteph
Re,

...loupé un détail:

Sub Imprim3()
With Feuil1
.Activate
.PageSetup.PrintHeadings = False
.PrintOut
.PageSetup.PrintHeadings = True
.PrintOut

ActiveWindow.DisplayFormulas = True
.Columns.AutoFit
.PrintOut
ActiveWindow.DisplayFormulas = False
.Columns.AutoFit
End With
ActiveWorkbook.Save
End Sub

'LSteph

On Jul 18, 7:52 pm, Eric C wrote:
Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir annexe).

http://cjoint.com/?AGstXLDuUnk

Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…

Pour que le "controleur" puisse voir ce qui est calculé, je dois
imprimer la même feuille avec entête des lignes et des colonnes ET la
feuille des formules utilisées avec entête des lignes et des colonnes .

Je voudrais faire une macro pour imprimer tout cela automatiquement,
j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
certain qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lig nes
-imprimer la feuille avec les formules et les noms des colonnes et
lignes (ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille

Merci de votre aide précieuse.
Avatar
DanielCo
Bonjour LSteph,
Je pense que le redimensionnement des colonnes se fait sans qu'on ait
besooin de le préciser.
Cordialement.
Daniel


Re,

...loupé un détail:

Sub Imprim3()
With Feuil1
.Activate
.PageSetup.PrintHeadings = False
.PrintOut
.PageSetup.PrintHeadings = True
.PrintOut

ActiveWindow.DisplayFormulas = True
.Columns.AutoFit
.PrintOut
ActiveWindow.DisplayFormulas = False
.Columns.AutoFit
End With
ActiveWorkbook.Save
End Sub

'LSteph

On Jul 18, 7:52 pm, Eric C wrote:
Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir annexe).

http://cjoint.com/?AGstXLDuUnk

Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…

Pour que le "controleur" puisse voir ce qui est calculé, je dois
imprimer la même feuille avec entête des lignes et des colonnes ET la
feuille des formules utilisées avec entête des lignes et des colonnes.

Je voudrais faire une macro pour imprimer tout cela automatiquement,
j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
certain qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lignes
-imprimer la feuille avec les formules et les noms des colonnes et
lignes (ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille

Merci de votre aide précieuse.





--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel
Avatar
LSteph
Bonjour Daniel,

Si on omet les autofit
pour le premier regarde la formule en bas de la colonne c elle est
tronquée
et pour le second quand on revient si on l'omet cela se redimensionne
a minima sur A1 en colonne A
de sorte que le reste de la colonne est coupé.
( Cela dépend peut être aussi de la version , ici 2003)
avec les 2 autofits cela me semble donc plus sûr selon les cas.

Cordialement.

--
LSteph

On 19 juil, 13:21, DanielCo wrote:
Bonjour LSteph,
Je pense que le redimensionnement des colonnes se fait sans qu'on ait
besooin de le préciser.
Cordialement.
Daniel









> Re,

> ...loupé un détail:

> Sub Imprim3()
> With Feuil1
>     .Activate
>     .PageSetup.PrintHeadings = False
>     .PrintOut
>     .PageSetup.PrintHeadings = True
>     .PrintOut

>     ActiveWindow.DisplayFormulas = True
>     .Columns.AutoFit
>     .PrintOut
>     ActiveWindow.DisplayFormulas = False
>     .Columns.AutoFit
> End With
> ActiveWorkbook.Save
> End Sub

> 'LSteph

> On Jul 18, 7:52 pm, Eric C wrote:
>> Voici mon problème :
>> J’ai une feuille de calcul qui me sert à libérer des produits (v oir annexe).

>>http://cjoint.com/?AGstXLDuUnk

>> Cette feuille est imprimée telle quelle et collée dans un cahier d e
>> résultats.
>> Jusque là, tout baigne…

>> Pour que le "controleur" puisse voir ce qui est calculé, je dois
>> imprimer la même feuille avec entête des lignes et des colonnes ET la
>> feuille des formules utilisées avec entête des lignes et des colon nes.

>> Je voudrais faire une macro pour imprimer tout cela automatiquement,
>> j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
>> certain qu’une solution toute simple existe…
>> La macro doit :
>> -imprimer la feuille avec les résultats
>> -imprimer la feuille avec les résultats et les noms des colonnes et lignes
>> -imprimer la feuille avec les formules et les noms des colonnes et
>> lignes (ajuster la largeur des colonnes)
>> -réafficher la feuille avec les résultats (sans formules)
>> -enregistrer la feuille

>> Merci de votre aide précieuse.

--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel
Avatar
DanielCo
Juste. Je ne l'avais pas vu. Par contre, le second autofit ne redonne
pas forcément les largeurs de colonnes initiales. Ou on place le "Save"
avant le premier AutoFit, ou on enregistre les largeurs initiales des
colonnes.
Daniel


Bonjour Daniel,

Si on omet les autofit
pour le premier regarde la formule en bas de la colonne c elle est
tronquée
et pour le second quand on revient si on l'omet cela se redimensionne
a minima sur A1 en colonne A
de sorte que le reste de la colonne est coupé.
( Cela dépend peut être aussi de la version , ici 2003)
avec les 2 autofits cela me semble donc plus sûr selon les cas.

Cordialement.

--
LSteph

On 19 juil, 13:21, DanielCo wrote:
Bonjour LSteph,
Je pense que le redimensionnement des colonnes se fait sans qu'on ait
besooin de le préciser.
Cordialement.
Daniel









Re,



...loupé un détail:



Sub Imprim3()
With Feuil1
    .Activate
    .PageSetup.PrintHeadings = False
    .PrintOut
    .PageSetup.PrintHeadings = True
    .PrintOut



    ActiveWindow.DisplayFormulas = True
    .Columns.AutoFit
    .PrintOut
    ActiveWindow.DisplayFormulas = False
    .Columns.AutoFit
End With
ActiveWorkbook.Save
End Sub



'LSteph



On Jul 18, 7:52 pm, Eric C wrote:
Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir
annexe). http://cjoint.com/?AGstXLDuUnk





Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…





Pour que le "controleur" puisse voir ce qui est calculé, je dois
imprimer la même feuille avec entête des lignes et des colonnes ET la
feuille des formules utilisées avec entête des lignes et des colonnes.
Je voudrais faire une macro pour imprimer tout cela automatiquement,
j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
certain qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lignes
-imprimer la feuille avec les formules et les noms des colonnes et
lignes (ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille





Merci de votre aide précieuse.





--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel





--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel
Avatar
LSteph
Effectivement, du coup la première colonne s'en trouve un peu mieux
mais la deuxième fait un peu ratatinée,
...
on pourrait aussi après le second autofit
appliquer celle standard aux colonnes qui seraient d'une largeur
inférieure.

On 19 juil, 14:31, DanielCo wrote:
Juste. Je ne l'avais pas vu. Par contre, le second autofit ne redonne
pas forcément les largeurs de colonnes initiales. Ou on place le "Save"
avant le premier AutoFit, ou on enregistre les largeurs initiales des
colonnes.
Daniel









> Bonjour Daniel,

> Si on omet les autofit
>  pour le premier regarde la formule en bas de la colonne c elle est
> tronquée
> et pour le second quand on revient  si on l'omet cela se redimensionn e
> a minima sur A1 en colonne A
> de sorte que le reste de la  colonne est coupé.
> ( Cela dépend peut être aussi de la version , ici 2003)
> avec les 2 autofits cela me semble donc  plus sûr selon les cas.

> Cordialement.

> --
> LSteph

> On 19 juil, 13:21, DanielCo wrote:
>> Bonjour LSteph,
>> Je pense que le redimensionnement des colonnes se fait sans qu'on ait
>> besooin de le préciser.
>> Cordialement.
>> Daniel

>>> Re,

>>> ...loupé un détail:

>>> Sub Imprim3()
>>> With Feuil1
>>>     .Activate
>>>     .PageSetup.PrintHeadings = False
>>>     .PrintOut
>>>     .PageSetup.PrintHeadings = True
>>>     .PrintOut

>>>     ActiveWindow.DisplayFormulas = True
>>>     .Columns.AutoFit
>>>     .PrintOut
>>>     ActiveWindow.DisplayFormulas = False
>>>     .Columns.AutoFit
>>> End With
>>> ActiveWorkbook.Save
>>> End Sub

>>> 'LSteph

>>> On Jul 18, 7:52 pm, Eric C wrote:
>>>> Voici mon problème :
>>>> J’ai une feuille de calcul qui me sert à libérer des produits (voir
>>>> annexe).http://cjoint.com/?AGstXLDuUnk

>>>> Cette feuille est imprimée telle quelle et collée dans un cahier de
>>>> résultats.
>>>> Jusque là, tout baigne…

>>>> Pour que le "controleur" puisse voir ce qui est calculé, je dois
>>>> imprimer la même feuille avec entête des lignes et des colonnes ET la
>>>> feuille des formules utilisées avec entête des lignes et des col onnes.
>>>> Je voudrais faire une macro pour imprimer tout cela automatiquement,
>>>> j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
>>>> certain qu’une solution toute simple existe…
>>>> La macro doit :
>>>> -imprimer la feuille avec les résultats
>>>> -imprimer la feuille avec les résultats et les noms des colonnes e t lignes
>>>> -imprimer la feuille avec les formules et les noms des colonnes et
>>>> lignes (ajuster la largeur des colonnes)
>>>> -réafficher la feuille avec les résultats (sans formules)
>>>> -enregistrer la feuille

>>>> Merci de votre aide précieuse.

>> --
>> Pour plaus de facilité, veuillez préciser votre version d'Excel
>> Cordialement.
>> Daniel

--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel
Avatar
Eric C
Merci LSteph, c'est exactement ce que je voulais.
Comment faire pour que cette macro soit active dans n'importe quel
fichier ouvert ?

Eric

Le 19/07/2011 15:09, LSteph a écrit :

Effectivement, du coup la première colonne s'en trouve un peu mieux
mais la deuxième fait un peu ratatinée,
...
on pourrait aussi après le second autofit
appliquer celle standard aux colonnes qui seraient d'une largeur
inférieure.

On 19 juil, 14:31, DanielCo wrote:
Juste. Je ne l'avais pas vu. Par contre, le second autofit ne redonne
pas forcément les largeurs de colonnes initiales. Ou on place le "Save"
avant le premier AutoFit, ou on enregistre les largeurs initiales des
colonnes.
Daniel









Bonjour Daniel,



Si on omet les autofit
pour le premier regarde la formule en bas de la colonne c elle est
tronquée
et pour le second quand on revient si on l'omet cela se redimensionne
a minima sur A1 en colonne A
de sorte que le reste de la colonne est coupé.
( Cela dépend peut être aussi de la version , ici 2003)
avec les 2 autofits cela me semble donc plus sûr selon les cas.



Cordialement.



--
LSteph



On 19 juil, 13:21, DanielCo wrote:
Bonjour LSteph,
Je pense que le redimensionnement des colonnes se fait sans qu'on ait
besooin de le préciser.
Cordialement.
Daniel





Re,







...loupé un détail:







Sub Imprim3()
With Feuil1
.Activate
.PageSetup.PrintHeadings = False
.PrintOut
.PageSetup.PrintHeadings = True
.PrintOut







ActiveWindow.DisplayFormulas = True
.Columns.AutoFit
.PrintOut
ActiveWindow.DisplayFormulas = False
.Columns.AutoFit
End With
ActiveWorkbook.Save
End Sub







'LSteph







On Jul 18, 7:52 pm, Eric C wrote:
Voici mon problème :
J’ai une feuille de calcul qui me sert à libérer des produits (voir
annexe).http://cjoint.com/?AGstXLDuUnk









Cette feuille est imprimée telle quelle et collée dans un cahier de
résultats.
Jusque là, tout baigne…









Pour que le "controleur" puisse voir ce qui est calculé, je dois
imprimer la même feuille avec entête des lignes et des colonnes ET la
feuille des formules utilisées avec entête des lignes et des colonnes.
Je voudrais faire une macro pour imprimer tout cela automatiquement,
j’ai essayé avec l’enregistreur de macros mais je m’y perds et je suis
certain qu’une solution toute simple existe…
La macro doit :
-imprimer la feuille avec les résultats
-imprimer la feuille avec les résultats et les noms des colonnes et lignes
-imprimer la feuille avec les formules et les noms des colonnes et
lignes (ajuster la largeur des colonnes)
-réafficher la feuille avec les résultats (sans formules)
-enregistrer la feuille









Merci de votre aide précieuse.









--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel





--
Pour plaus de facilité, veuillez préciser votre version d'Excel
Cordialement.
Daniel



Avatar
LSteph
Bonsoir Eric,

Merci LSteph


...aussi Daniel

Comment faire pour que cette macro soit active dans n'importe quel
fichier ouvert ?


Alors sur le principe..
Si tant est que ce contexte se retrouve ailleurs (ce n'est pas évident
au vu de l'exemple spécifique que tu fournis)
donc toujours Feuil1 ...? (par exemple)
..il suffirait de la placer dans le classeur de macros personnelles

Cordialement.

--
LSteph

On Jul 19, 9:10 pm, Eric C wrote:
Merci LSteph, c'est exactement ce que je voulais.
Comment faire pour que cette macro soit active dans n'importe quel
fichier ouvert ?

Eric

Le 19/07/2011 15:09, LSteph a écrit :









> Effectivement, du coup la première colonne s'en trouve un peu mieux
> mais la deuxième fait un peu ratatinée,
> ...
> on pourrait aussi après le second autofit
> appliquer celle standard aux colonnes qui seraient d'une largeur
> inférieure.

> On 19 juil, 14:31, DanielCo  wrote:
>> Juste. Je ne l'avais pas vu. Par contre, le second autofit ne redonne
>> pas forcément les largeurs de colonnes initiales. Ou on place le "Sa ve"
>> avant le premier AutoFit, ou on enregistre les largeurs initiales des
>> colonnes.
>> Daniel

>>> Bonjour Daniel,

>>> Si on omet les autofit
>>>   pour le premier regarde la formule en bas de la colonne c elle es t
>>> tronquée
>>> et pour le second quand on revient  si on l'omet cela se redimensio nne
>>> a minima sur A1 en colonne A
>>> de sorte que le reste de la  colonne est coupé.
>>> ( Cela dépend peut être aussi de la version , ici 2003)
>>> avec les 2 autofits cela me semble donc  plus sûr selon les cas.

>>> Cordialement.

>>> --
>>> LSteph

>>> On 19 juil, 13:21, DanielCo  wrote:
>>>> Bonjour LSteph,
>>>> Je pense que le redimensionnement des colonnes se fait sans qu'on ai t
>>>> besooin de le préciser.
>>>> Cordialement.
>>>> Daniel

>>>>> Re,

>>>>> ...loupé un détail:

>>>>> Sub Imprim3()
>>>>> With Feuil1
>>>>>      .Activate
>>>>>      .PageSetup.PrintHeadings = False
>>>>>      .PrintOut
>>>>>      .PageSetup.PrintHeadings = True
>>>>>      .PrintOut

>>>>>      ActiveWindow.DisplayFormulas = True
>>>>>      .Columns.AutoFit
>>>>>      .PrintOut
>>>>>      ActiveWindow.DisplayFormulas = False
>>>>>      .Columns.AutoFit
>>>>> End With
>>>>> ActiveWorkbook.Save
>>>>> End Sub

>>>>> 'LSteph

>>>>> On Jul 18, 7:52 pm, Eric C  wrote:
>>>>>> Voici mon problème :
>>>>>> J’ai une feuille de calcul qui me sert à libérer des produit s (voir
>>>>>> annexe).http://cjoint.com/?AGstXLDuUnk

>>>>>> Cette feuille est imprimée telle quelle et collée dans un cahi er de
>>>>>> résultats.
>>>>>> Jusque là, tout baigne…

>>>>>> Pour que le "controleur" puisse voir ce qui est calculé, je dois
>>>>>> imprimer la même feuille avec entête des lignes et des colonne s ET la
>>>>>> feuille des formules utilisées avec entête des lignes et des c olonnes.
>>>>>> Je voudrais faire une macro pour imprimer tout cela automatiquemen t,
>>>>>> j’ai essayé avec l’enregistreur de macros mais je m’y perd s et je suis
>>>>>> certain qu’une solution toute simple existe…
>>>>>> La macro doit :
>>>>>> -imprimer la feuille avec les résultats
>>>>>> -imprimer la feuille avec les résultats et les noms des colonnes et lignes
>>>>>> -imprimer la feuille avec les formules et les noms des colonnes et
>>>>>> lignes (ajuster la largeur des colonnes)
>>>>>> -réafficher la feuille avec les résultats (sans formules)
>>>>>> -enregistrer la feuille

>>>>>> Merci de votre aide précieuse.

>>>> --
>>>> Pour plaus de facilité, veuillez préciser votre version d'Excel
>>>> Cordialement.
>>>> Daniel

>> --
>> Pour plaus de facilité, veuillez préciser votre version d'Excel
>> Cordialement.
>> Daniel
Avatar
Gloops
Bonsoir,

Effectivement, ça serait plus passe-partout de remplacer Feuil1 par
ActiveSheet.

_____________________________________
LSteph a écrit, le 20/07/2011 20:28 :
Bonsoir Eric,

Merci LSteph


...aussi Daniel

Comment faire pour que cette macro soit active dans n'importe quel
fichier ouvert ?


Alors sur le principe..
Si tant est que ce contexte se retrouve ailleurs (ce n'est pas éviden t
au vu de l'exemple spécifique que tu fournis)
donc toujours Feuil1 ...? (par exemple)
..il suffirait de la placer dans le classeur de macros personnelles

Cordialement.

--
LSteph

On Jul 19, 9:10 pm, Eric C wrote:
Merci LSteph, c'est exactement ce que je voulais.
Comment faire pour que cette macro soit active dans n'importe quel
fichier ouvert ?

Eric
1 2