Enregistrer un classeur à 2 endroits

Bonjour,

Je trouve toujours des solutions à mes problèmes en lisant sur ce forum mais cette fois-ci j’ai vraiment besoin d’une aide plus poussée. C’est donc la première fois que je sollicite votre aide en écrivant ce sujet.

Au travail, nous devons disposer des biens excédentaires et désuets de notre organisme. Nous devons donc produire un fichier des biens à disposer pour le soumettre à l’approbation de notre directeur.

Nous avons donc un logiciel d’inventaire (Virtuo) duquel l’utilisateur extrait des données dans un fichier .txt qui est toujours au même endroit et qui a toujours le même nom (Données Virtuo.txt). Forcément, les nouvelles données écrasent les anciennes à chaque extraction.

L’utilisateur ouvre ensuite un classeur Excel modèle (Modèle_2.0.xltm) et rempli un formulaire avec des listes déroulantes. Pour chaque liste, l'utilisateur peut entrer un élément nouveau. Une fois le formulaire rempli, le classeur modèle est sauvegardé avec les nouveaux éléments ajoutés aux listes déroulantes pour une utilisation future.

Les réponses données dans le formulaire sont ensuite placées dans des cellules déterminées. Les données sont mises à jour grâce à une requête. La requête est par la suit immédiatement supprimée pour empêcher que les données changent lors d'une prochaine ouverture du classeur.

J'aimerais qu'une boîte "Enregistrer sous" s'ouvre avec un chemin (qui va toujours être le même) et un nom de fichier (selon certaines cellules) déjà dans la boîte. Pour qu'ensuite l'utilisateur puisse choisir de garder ce nom ou le modifier avant d'enregistrer le classeur. Cette version ne doit pas contenir de requête vers des données externes et ne doit plus être un classeur modèle.

Voici le bout de code à partir du 1er enregistrement :

'Enregistrement du classeur modèle

Application.DisplayAlerts = False ThisWorkbook.SaveAs "O:\DRM\DRM_Approvisionnement\BNC\DISPOSITION\Modèle_2.0.xltm", FileFormat:=xlOpenXMLTemplateMacroEnabled Application.DisplayAlerts = True

'Disposition des réponses au formulaire

Sheets("Tableau").Cells(1, 1).Value = Me.Disposition.Value & "_" & Me.Organisme.Value Sheets("Tableau").Cells(2, 1).Value = Me.MonthView1.Value Sheets("Base").Cells(1, 1).Value = Me.Categorie.Value Sheets("Base").Cells(2, 1).Value = Me.Disposition.Value Sheets("Base").Cells(3, 1).Value = Me.Organisme.Value Sheets("Signatures").Cells(4, 1).Value = Me.InventaireDisposition.Value Sheets("Signatures").Cells(9, 1).Value = Me.DirecteurService.Value Sheets("Signatures").Cells(13, 1).Value = Me.Directeur.Value

'Mise à jour des données et supression de la requête

ActiveWorkbook.RefreshAll ActiveWorkbook.Queries("Données Virtuo").Delete

'Tri du TCD

Sheets("Tableau").PivotTables("Tableau croisé dynamique1").PivotFields("Année"). _ AutoSort xlAscending, "Année" Sheets("Tableau").PivotTables("Tableau croisé dynamique1").PivotFields("Code à barres"). _ AutoSort xlAscending, "Code à barres"

'Enregistrement du classeur

ChDir "O:\DRM\DRM_Approvisionnement\BNC\DISPOSITION\2019\En attente de signature" Application.Dialogs(xlDialogSaveAs).Show Sheets("Tableau").Range("A1") & "_" & Sheets("Tableau").Range("A2")

Mon code fonctionne jusqu'au 2e enregistrement. La boîte "Enregistrer sous" s'ouvre et avec le bon nom mais pas le bon chemin. Aussi, j'aimerais que ce soit un classeur prenant en charge les macros (.xlsm) et non un classeur modèle (.xltm)

capture

Votre aide sera grandement appréciée !

6modele-2-0.xltm (188.05 Ko)
Rechercher des sujets similaires à "enregistrer classeur endroits"