Enregistrer sous feuille active seulement

Bonsoir

Bien sur si tu supprimes cette ligne il n'y aura pas de sauvegarde au format pdf

Fais le test

J'ai fait et ca fonctionne merciiiii

Salut,

Je reviens vers toi, car j'ai un soucis sur la ligne MkDir Chemin & "\" & Fichier

Je clique sur le bouton, je vais dans le dossier dans lequel je veux enregistrer mon xlsm et pdf, et la erreur d'execution 76 chemin d'accès introuvable. la ligne MkDir Chemin & "\" & Fichier se met en jaune !! j'ai l'impression que c'est quand le dossier existe deja, il ne me propose pas de le remplacer du coup il me fait une erreur. Une idée?

Autre question, .InitialFileName = "C:\Users\Michel\AppData\Local\Temp\" c'est quoi ca? je crois que ca appartient à la personne qui m'à aider a faire la macro. si je peux l'effacer je doit supprimer quoi d'autre avec?

Sub enregistredevis()
Dim Chemin As String, Fichier As String

  Fichier = Range("F11") & " " & Range("F4") & " " & Range("F5")
  If Len(Trim(Fichier)) = 0 Then
    MsgBox "Pas de nom de fichier"
    Exit Sub
  End If

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "C:\Users\Michel\AppData\Local\Temp\"
    If .Show = -1 Then    ' Clic sur Ok
     Chemin = .SelectedItems(1)
    Else
      ' Clic sur Annuler
     Exit Sub
    End If
  End With
  MkDir Chemin & "\" & Fichier
  Chemin = Chemin & "\" & Fichier
  ActiveSheet.Copy
  With ActiveWorkbook
    .SaveAs Filename:=Chemin & "\" & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close
  End With

  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & Fichier, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
End Sub

encore merci

Bonsoir

Remplace par cette ligne

.InitialFileName = "C:\Users\Mike\\Desktop\Devis\"

Ensuite le plus simple si le répertoire existe c'est de passer outre l'erreur

On Error Resume Next
 MkDir Chemin & "\" & Fichier
On Error Goto 0 

On pourrait le faire par

If Dir(Chemin, vbDirectory) = "" Then
 MkDir Chemin & "\" & Fichier
End If

a quoi correspond cette ligne en faite :

.InitialFileName = "C:\Users\Mike\\Desktop\Devis\" à t'elle une importance?

Car aujourd'hui avec la phrase .InitialFileName = "C:\Users\Michel\AppData\Local\Temp\" ca fonctionne tres bien.

Bonjour

pouns94 a écrit :

a quoi correspond cette ligne en faite :

.InitialFileName = "C:\Users\Mike\\Desktop\Devis\" à t'elle une importance?

C'est toi qui l'a demandée

Quand je clique sur le bouton, il m'ouvre windows (C:) > Utilisateurs > Mike > Documents

comment s'il te plait, que quand je clique il m'ouvre windows (C:) > Utilisateurs > Mike > Bureau > Devis

mais je reconnais il y a une erreur : 2 \\ à la suite entre Mike et Desktop

A tester en corrigeant la faute

magnifique merciiiii

Bonsoir à tous, bonsoir Banzai.

J'ai une question peut etre un peu compliqué à expliquer, je vais faire de mon mieux.

A l'heure actuelle, quand j'enregistre un devis, celui s'enregistre sous le nom de deux cellules, en xlsm et en pdf, dans un dossier devis.

est-ce qu'il est possible, à partir d'excel, de rouvrir un des devis enregistrés?

Bonjour

Pour ouvrir un fichier excel

Workbooks.Open Filename:="........."

Pour ouvrir le fichier Pdf (trouvé sur le web)

ThisWorkbook.FollowHyperlink "C:\leFichier.pdf"

A toi de marquer le chemin ainsi que le nom du fichier

Merci Banzai,

Alors le soucis, c'est que je risque un jour d'avoir des tonnes de devis.

En gros et actuellement dans mon repertoire devis, j'ai environ 40 devis

Je ne peux pas faire une macro pour chaque dossier contenant le xlsm afin qu'il s'ouvre.

Y a t-il une possibilité de selectionner un xlsm parmis l'ensemble de mes devis.

Soit pas une liste deroulante soit par une autre maniere?

merci

Bonjour

Fais une liste de tes fichiers que tu colles dans une listbox et qu'ensuite tu choisisses celui que tu veux

ok, mais euhhhhh comment je fait une liste box?

et quand je vais par la suite enregistrer des nouveaux devis dans le dossier, est-ce qu'il se rajouterons tout seul à la listebox?

Bonjour

Une listBox est un contrôle au même titre qu'un TextBox, Label, ComboBox etc.....

La gestion de ce contrôle est un peu différente (très peu) de la gestion de la ComboBox

Tu dois avoir une multitude d'exemples sur la façon de la remplir

Reviens ici si tu as des difficultés

Joins un fichier avec le travail que tu as fait en indiquant où ça bloque

pouns94 a écrit :

est-ce qu'il se rajouterons tout seul à la listebox?

Oui si tu appelles la procédure pour la remplir

A voir

https://www.excel-pratique.com/fr/vba/controles_suite.php

Rechercher des sujets similaires à "enregistrer feuille active seulement"