Report de valeur cellule lors de l'impression

Bonjour à tous et déjà un grand merci à ceux qui pourront donner de leur temps à essayer de résoudre mon problème.

Dans une feuille excel, j'ai un bouton de sauvegarde du document (feuil1) en PDF.

Sur ce document en cellule A1 s'inscrit un résultat (Ex: 25)

Ce que je souhaiterais est de reporter ce resultat sur la cellule B1 en tenant compte de ce qui suit:

1) Lors de la savegarde en PDF (à l'aide du bouton) la valeur de A1 est éffacée (la valeur de B1 doit rester 25)

2) Si B1 contient déjà une valeur alors retranscrire en B2 et ainsi de manière incrémentale (B3, B4, B5 etc....)

La cerise sur le gâteau serait une explication simple et explicité de la méthode afin de comprendre cette dernière

Dans l' attente de savoir si cela est faisable, je vous souhaite d'ors et déjà une excellente fin de soiréé.

Bonjour,

Essayez cette macro pour voir :

Sub Macro1()
    Dim fichier As String, premCell As Integer

    ' Fichier de sauvegarde
    fichier = "D:\Temp\feuille.pdf"
    '1ère cellule vide sur la 1ère ligne
    premCell = Cells(1, Columns.Count).End(xlToLeft).Column + 1
    ' On copie le contenu de la cellule A1 au bon endroit
    ActiveSheet.Cells(1, premCell) = ActiveSheet.Cells(1, 1)
    ' On vide la cellule A1 de son contenu
    ActiveSheet.Cells(1, 1) = ""
    'et on sauvegarde la feuille au format pdf
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True _
        , IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Bonjour Optimix,

En tout premier lieu je tiens à vous remercier du temps que vous accordez à la résolution de mon problème.

Je viens d'effectuer quelques essais avec le code que vous m'avez remis et n'arrive pas à l'adapter de manière

optimale à mon fichier.

De ce fait je me permets de vous faire parvenir ce dernier en PJ afin de vous demander des que votre emploi du temps

vous le permettra de bien vouloir contrôler si ce dernier est adapté à ma demande.

Mes connaissances en VBA sont assez limitées et c'est sans doute pour cela que je n'arrive pas à effectuer cette adaptation.

Je vous reitère encore tous mes remerciments et vous souhaite d'ores et déjà une excellente journée

2copie.xlsm (75.49 Ko)

Bonjour Tiago,

Vous n'avez pas pu adapter la macro parce que votre besoin avait été beaucoup trop simplifié : un grand classique.
Une proposition :
Vous noterez que je n'ai pas touché :
- au format des cellules de la colonne de reports AK (les %) ;
- à votre macro de sauvegarde au format PDF qu'il faudra certainement revoir.

8copie.xlsm (77.45 Ko)

Bonjour Optimix

Cela fonctionne super bien!!!

Le seul bémol est que une fois la sauvegarde effectuée et la cellule retranscrite en AK13, La cellule initiale (R59) perd la formule (=MOYENNE(R35;R57).

de ce fait elle garde le dernier resultat optenu et retranscrit à chaque nouvelle sauvegarde le même résultat dans les cellules AK13, AK15, Ak17 etc..

Modifiez les 2 dernières lignes de la macro comme suit :

    ' On restaure la moyenne initiale
    wS.Range("R59").Formula = "=(R35+R57)/2"

Bonjour Optimix,

Exactement ce que je souhaitais, et cette fois tout fonctionne à merveille.👍

Je vous reitère tous mes remerciments et vous souhaite d'ores et déjà une excellente fin d'après-midi.

Bonne continuation.

Rechercher des sujets similaires à "report valeur lors impression"