Feuille active sous pdf

bonjour,

j'ai créer un facturier et je voudrais une fois mon devis ou ma facture créé l'enregistrer sous le nom de la page active dans un dossier bien spécifique

et déclencher ça grâce à un bouton

si quelque un peut m'aider à trouver une macro pour ça

merci pour votre aide

Bonjour et bienvenue sur le forum

Je veux bien essayer de t’aider.

Mais il faut auparavant que tu fasses une petite manip :

1 – Tu crées un nouveau fichier et tu l’enregistres dans le dossier ‘’bien spécifique’’ où tu mettras tes enregistrements de facturiers

2 – Tu mets dans une cellule vide quelconque de ce fichier a formule :

= CELLULE(« Nomfichier »)

et tu valides

3 – Tu copies cette cellule et tu fais un collage spécial-valeur, dans la même cellule ou dans une autre.

4 - tu copies la formule obtenue et tu la colles sur une nouvelle feuille de ton facturier que tu joins à ton prochain message

Question complémentaire : si j’en crois le titre de ton message, tu veux des enregistrements au format PDF, c’est ça ?

A te relire

je vais être plus précis

j'ai donc créé un facturier c'est a dire un classeur excel avec 4 feuilles une facture une devis une liste client et une liste article

une fois que j'ai créé mon devis je lui attribut un numéro automatiquement qui se place dans une cellule.

J'ai créé une macro qui renomme automatiquement la feuille "devis" par le numéro de devis.

ensuite ce que je voudrais faire c'est créer une macro qui me permette d'enregistrer ce devis renommer en pdf pour l'archivage.

par la suite j'ai créé une macro qui copie les données du devis sur la feuille facture mais la aussi pb dans ma macro c'est la feuille "devis" qui est selectionné et non la feuille renommée.

et en dernier créé ma facture je la renomme comme pour mon devis et la aussi je voudrais l'enregistrer en pdf avec son nouveau nom pour l'archivage.

la macro pour copier mon devis vers ma facture:

Sub copier_devis()

'

' copier_devis Macro

'

'

Sheets("devis").Select

ActiveWindow.SmallScroll Down:=-22

Range("G12:H12").Select

Selection.Copy

ActiveWindow.SmallScroll Down:=2

Sheets("facture").Select

ActiveWindow.SmallScroll Down:=11

Range("D26:E26").Select

ActiveSheet.Paste

Sheets("devis").Select

Range("G13:H13").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("facture").Select

ActiveWindow.SmallScroll Down:=-3

Range("G13:H13").Select

ActiveSheet.Paste

Sheets("devis").Select

Range("G14").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("facture").Select

Range("G14").Select

ActiveSheet.Paste

Sheets("devis").Select

ActiveWindow.SmallScroll Down:=12

Range("A27:A37").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("facture").Select

Range("A29").Select

ActiveSheet.Paste

Sheets("devis").Select

Range("D27:E37").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("facture").Select

Range("D29").Select

ActiveSheet.Paste

Sheets("devis").Select

Range("G27:G37").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("facture").Select

Range("G29").Select

ActiveSheet.Paste

ActiveWindow.SmallScroll Down:=-6

Sheets("devis").Select

ActiveWindow.SmallScroll Down:=-16

Range("G12:H12").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("facture").Select

Range("D26:E26").Select

Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _

xlNone, SkipBlanks:=False, Transpose:=False

ActiveWindow.SmallScroll Down:=-20

Range("D4:G5").Select

End Sub

la macro pour renommer mes onglets devis et facture:

Sub renommer_onglet()

ActiveSheet.Name = Range("G12")

End Sub

j'espère que c'est clair merci pour vos réponse

romain13 a écrit :

ensuite ce que je voudrais faire c'est créer une macro qui me permette d'enregistrer ce devis renommer en pdf pour l'archivage.

Tout d’abord, je ne te remercie pas de ne pas me remercier pour mon offre de services.

Et pour te répondre, je confirme que si tu ne fais pas la manip demandée, je ne vois pas comment on pourrait te satisfaire, c'est à dire enregistrer le devis dans un dossier ''bien spécifique''.

Bye !

Bonjour,

Pour commencer, j'ai crée un fichier et repris ton code (de ce j'ai compris).

Pour la suite, tu dois être plus précis dans ta demande (bonjour gmb ).

Cdlt.

Option Explicit
Option Private Module

Public Sub copier_devis()
Dim wb As Workbook
Dim wsDevis As Worksheet, wsFacture As Worksheet

    Application.ScreenUpdating = False
    Set wb = ThisWorkbook
    Set wsDevis = wb.Worksheets("devis")
    Set wsFacture = wb.Worksheets("facture")

    With wsFacture
        .Cells.Clear    ' pour les tests
        .Range("D26:E26").Value = wsDevis.Range("G12:H12").Value
        .Range("G13:H13").Value = wsDevis.Range("G13:H13").Value
        .Range("G14").Value = wsDevis.Range("G14").Value
        .Range("A29:A39").Value = wsDevis.Range("A27:A37").Value
        .Range("D29:D39").Value = wsDevis.Range("D27:E37").Value
        .Range("G29:G39").Value = wsDevis.Range("G27:G37").Value
        .Name = "facture " & wsDevis.Range("G12").Value
    End With

    Range("D4:G5").Select

Set wsFacture = Nothing
Set wsDevis = Nothing
Set wb = Nothing

End Sub

désolé gmb les forums sont nouveaux pour moi donc excuse moi pour ma réponse

j'ai fait ce que tu avais dit et je n'obtiens pas de formule dans ma case ou je recopie ta formule

ensuite concernant mon code pour copier mon devis ce qui se passe c'est que le code créé à été fait sur la base de la feuille "devis" mais quand je dois copier mon devis vers ma facture la feuille est renommé en fonction d'une case

donc la question c'st comment modifier mon code pour que quand je copie ça sélectionne la feuille qui a été renommé.

bonjour messieurs

bon j'ai trouvé la solution à mon premier pb il fallait que je remplace "devis" par 2 dans mon code et du coup ça sélectionne d'office la feuille 2 quelque soit son nom

maintenant mon autre pb c'est de trouver une macro qui me permette d'enregistrer la feuille en pdf dans un dossier de mon choix.

merci d'avance

Bonjour

Tu écris :

j'ai fait ce que tu avais dit et je n'obtiens pas de formule dans ma case ou je recopie ta formule

Tu dois mal t’y prendre :

capture

la question c'st comment modifier mon code pour que quand je copie ça sélectionne la feuille qui a été renommé.

Pour que l’on se comprenne bien, il serait préférable d’avoir ton fichier, même avec des données inventées.

Bye !

Macintosh HD:Users:romaingouillart:Desktop:massilia grip:documents:factures_devis_contrats:FA 2015:[Classeur2.xlsx]Feuil1

voila ce que j'obtient

merci de ton aide

et desole pour tout a l heure


voila mon facturier

Un essai :

101classeur1.xlsm (24.94 Ko)

Faute d'avoir mis à jour ma boite aux lettres lors de mon dernier message, je n'avais pas vu que tu avais joint ton fichier.

Alors je te le retourne avec la macro qui enregistre la facture sous PDF

Cela marche-t-il ?

Bye !

super c'est un bon début

quand j'appuie sur ton bouton "enregistrer" s'enregistre 3 fichiers pdf "essai devis.pdf " et "essai essai.pdf" et "essai facture.pdf"

l'idéal c'est que je puisse enregistrer uniquement la feuille active

en tout cas il vont dans le bon dossier

déja un grand merci

bon ça marche mais pas tout a fait comme je voudrais les fichiers s'enregistre bien dans le bon dossier mais la macro crée 3 fichiers un pour chaque feuille du classeur

l'idéal serait d'enregistrer juste la feuille active comme ceci nomdelafeuille.pdf

en tout cas merci on avance

romain13 a écrit :

l'idéal serait d'enregistrer juste la feuille active comme ceci nomdelafeuille.pdf

Qu'à cela ne tienne !

Cette nouvelle version te va-t-elle ?

bonsoir,

en fait ton précédent code a marché très bien j'ai juste remplacé thisworkbook par activesheet.

du coup ça marche super bien

je suis ravi

un grand merci

Rechercher des sujets similaires à "feuille active pdf"