Bonjour a tous,

Je viens vers vous afin de solliciter vos avis.

Mon soucis est que je souhaite faire une "sauvegarde sous" que partielle...bizarre, vous avez dis bizarre!

Premièrement, j'ai effectué nombre de recherche aussi bien sur le net que des tests(j'y suis depuis 16h00, je commence donc à soufler...).

Je vous explique, je souhaite sauvegarder mon classeur dans un dossier specifique (save as donc) mais sans avoir à renoter le nom de ce classeur (save donc).

Voici mon programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Sub Workbook_Open()
Site = InputBox("Site : ")
Range("B3").Value = Site
 
Adresse = InputBox("Adresse : ")
Range("C4").Value = Adresse
 
Niveau = InputBox("Niveau : ")
Range("C6").Value = Niveau
 
Controleur = InputBox("Contrôleur : ")
Range("C7").Value = Controleur
MsgBox "Respetez le format de Date sous peine de creer une erreur(pas de /)", vbInformation, "Notification"
'MsgBox "Respetez le format de Date sous peine de creer une erreur (pas de " / ") !", vbCritical, "Notification"
 
DateDeControle = InputBox("Date(jj.mm.aaaa): ")
Range("J7").Value = DateDeControle
 
On Error Resume Next 'modifie le nom du fichier en fonction des infos
ActiveWorkbook.SaveAs Filename:="Controle_Preliminaire" & [B3].Value & "_" & [C6].Value & "_" & [J7].Value & ".xls"
 
End Sub
Dans le dossier "C:\Users\studio16\Desktop\Contrôle\Contrôle Préliminaire\Fichier De Base" j'execute mon "fichier excel de base";

Celui-ci se lance à l'ouverture du classeur et demande à l'utilisateur de renseigner des champs (site"B3", niveau"C6",date"J7",etc...).

Une fois cette première routine effectuée, en fonction des champs remplis, cela génère le nom du classeur (ça permet d'organiser les tableaux au fur et a mesure de leur création).

Mon problème est que si j'utilise la fonction"save" alors je garde bien le nom du classeur généré a son ouverture, mais la sauvegarde s'effectue dans "mes documents" or je souhaite que la sauvegarde est lieu dans un dossier spécifique"C:\Users\studio16\Desktop\Contrôle\Contrôle Préliminaire\Contrôles".
Donc l'utilisation de"save as" semble obligatoire...
Ce que j'aurai voulu savoir ' c'est si il est possible de faire un "save as" en gardant le nom du classeur actif.

Je modifié ce code (trouvé sur le net):création boite de dialogue utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub enregistrer()
    Dim n As Variant, newName As String, fs As Object
' par defaut, sauvegarder dans le repertoire du classeur
    n = ActiveWorkbook.Path & Application.PathSeparator & nomFichier
' ouvre la boite de dialogue GetSaveAsFilename
    n = Application.GetSaveAsFilename(n, "tous les fichiers,*.*", _
        1, "Enregistrer un fichier")
    If n = False Then Exit Sub   ' l'utilisateur a fait "Annuler"
' le bloc ci-dessous gère l'écrasement de fichier
    Set fs = CreateObject("Scripting.FileSystemObject")
    If fs.fileexists(n) Then
        fs.getfile (n)
        newName = fs.getfilename(n)
        If nomFichier <> newName Then
            If MsgBox("Le fichier """ & newName & _
               """ existe déjà. Voulez-vous le remplacer ?", _
               vbYesNo + vbQuestion, _
               "Remplacer un fichier existant") = vbNo Then Exit Sub
        End If
    End If
'
    nomFichier = fs.getfilename(n)
    Open n For Output As #1
'.
'.<votre code d'ecriture du fichier ici>
'.
    Close
End Sub
Mais cela ne me convient pas car trop compliqué (je ne comprends pas la moitié), et surtout je prefererai l'utilisation d'un "save" qui sauvegarderai automatique dans le fichier spécifique"C:\Users\studio16\Desktop\Contrôle\Contrôle Préliminaire\Contrôles".

Voila donc pourquoi je sollicite votre aide...(encore une fois).

Merci d'avance pour vos commentaires.

Cordialement

Manu