Macre enregistrer sous - ajout du répertoire ?

  • Initiateur de la discussion Initiateur de la discussion niobium
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

niobium

Guest
'abuse de vous, je sais mais bon.....

Qui pourrais me modifier cette macro pour qu'elle enregistre le fichier dans un sous répertoire reprenant la valeur de B2 (nom_client) pour obtenir : "D:\Mes Documents\nom_client\fichier.xls"
Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii.................

Sub Enregistrement01()

Dim Rep As String, Fich As String, C As Byte, Cancel, Q As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Rep = "D:\Mes Documents\"

With ActiveWorkbook
Fich = Range("B2") & "_" & "_" & Range("C2") & "_" & "_" & Range("D1")
For C = 1 To Len(Fich) 'test caractères interdits
If InStr("\/:*?""""<>|", Mid(Fich, C, 1)) > 0 Then
MsgBox "Attention, il y a des des caractères interdits !"
Cancel = True
Exit Sub
End If
Next
If dir(Rep & Fich & ".xls") <> "" Then 'test existence fichier
Q = MsgBox(Fich & " Existe déjà, voulez-vous le remplacer ?", vbYesNo)
If Q = 7 Then GoTo Ligne1 Else GoTo Ligne2
Else: GoTo Ligne2
End If

Ligne1:
Cancel = True
Exit Sub
Ligne2:
.SaveAs Rep & Fich & ".xls"

End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
 
Re : Macre enregistrer sous - ajout du répertoire ?

Bonjour bhbh,nobiol,Le forum

Tout d'abord, pardon de m'immicé dans ce fil

bhbh
Je viens d'essayer, avec la premiére procédure ,(pas celle que tu m'a donné aprés ,qui,elle supprime le Code du classeur Sauvegardé)

ça fonctionne bien, je peux ouvrir plusieurs classeurs sauvegardé
j'ai pas d'erreur,

ce qui serait bien également, c'est de pouvoir créer un Sous-Dossier de "B2"

Par contre le Classeur Sauvegardé, reste ouvert, il devrai ce fermer

Cordialement

Edit ben mince je viens de trouver ce Code j'avais complétement oublié
le voici en piéce jointe
 

Pièces jointes

Dernière édition:
Re : Macre enregistrer sous - ajout du répertoire ?

Apparemment toujours pas la bonne solution ou je m'y prends mal 😕.....

Je mets mon fichier en attachment...

Re-,

on va essayer autre chose..

Je teste si le fichier est déjà ouvert, et s'il l'est, on le sauvegarde, sinon, on le sauvegarde "Sous"...

Peut-être????

Code:
Sub Enregistrement01()
Dim Rep As String, Fich As String, C As Byte, Q As String
Dim X As Byte
Application.ScreenUpdating = False
Application.DisplayAlerts = False

If Range("B2").Value = "" Then Exit Sub
If Range("C2").Value = "" And Range("D1").Value = "" Then Exit Sub

Rep = "D:\Mes Documents\" & Range("B2").Value
If Not RépertoireExiste(Rep) Then
MakeDirEx (Rep$)
End If

With ActiveWorkbook
    Fich = Range("C2") & "_" & "_" & Range("D1") & ".xls"
        For C = 1 To Len(Fich) - 4 'test caractères interdits
            If InStr("\/:*?""""<>|", Mid(Fich, C, 1)) > 0 Then
                MsgBox "Attention, il y a des des caractères interdits !"
                Exit Sub
            End If
        Next
    Application.DisplayAlerts = False
    On Error Resume Next
    X = Len(Workbooks(Fich).Name) 'Test si fichier déjà ouvert
    On Error Resume Next
    If Dir(Rep & "\" & Fich) <> "" Then  'test existence fichier
        Q = MsgBox(Fich & " Existe déjà, voulez-vous le remplacer ?", vbYesNo)
        If Q = 7 Then
            Exit Sub
        Else
                If X > 0 Then
                    .Save
                Else
                    .SaveAs Rep & "\" & Fich
                End If
        End If
    Else
        If X > 0 Then
            .Save
        Else
            .SaveAs Rep & "\" & Fich
        End If
    End If
    Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 

Pièces jointes

Re : Macre enregistrer sous - ajout du répertoire ?

Tu peux créer ton propre Sujet STP ! Merci. 😀

Bonjour bhbh,nobiol,Le forum

Tout d'abord, pardon de m'immicé dans ce fil

bhbh
Je viens d'essayer, avec la premiére procédure ,(pas celle que tu m'a donné aprés ,qui,elle supprime le Code du classeur Sauvegardé)

ça fonctionne bien, je peux ouvrir plusieurs classeurs sauvegardé
j'ai pas d'erreur,

ce qui serait bien également, c'est de pouvoir créer un Sous-Dossier de "B2"

Par contre le Classeur Sauvegardé, reste ouvert, il devrai ce fermer

Cordialement

Edit ben mince je viens de trouver ce Code j'avais complétement oublié
le voici en piéce jointe
 
Re : Macre enregistrer sous - ajout du répertoire ?

Re-,

Niobum, j'étais entièrement d'accord avec toi :

Code:
Tu peux créer ton propre Sujet STP ! Merci.

jusqu'à ce que j'ouvre ton fichier.... 😡😡

Ne jamais mettre de code dans le WorkBook_Open qui influe sur la présentation de l'application Excel. 😎

C'est pas gênant en soi, mais pour des néophytes, cela peut leur faire perdre les pédales, d'où une multitude de questions (J'ai perdu ma barre de formules.....) sur ce forum...
 
Re : Macre enregistrer sous - ajout du répertoire ?

Re-,

je viens d'essayer ceci :

- J'ai enregistré ton fichier dans un répertoire (ex : D:\Mes Documents\)

- j'ai déroulé le code (dans le module 11), il m'a créé un nouveau sous-répertoire (Vtest), puis enregistré le fichier sous le nom voulu (C2 et D1)

- j'ai fermé Excel

- j'ai ouvert le fichier dans le répertoire Vtest, puis déroulé le code

Et là : Pas de problèmes....

Je ne comprends pas ce qui coince chez toi....

😕😕
 
Re : Macre enregistrer sous - ajout du répertoire ?

Bonjour à tous,
Salut BH² 🙂🙂,

jusqu'à ce que j'ouvre ton fichier.... 😡😡

Ne jamais mettre de code dans le WorkBook_Open qui influe sur la présentation de l'application Excel. 😎

Surtout que rien n'est prévu dans le BeforeClose pour remettre XL comme on aimerait le retrouver....

A++ 🙂🙂
A+ à tous
 
Re : Macre enregistrer sous - ajout du répertoire ?

Arffff, franchement désolé pour toi... mais à titre d'info je ne connais rien à Excel, je m'y suis mis il y a une semaine et en glanant des infos ci et là, j'avance mais je fais des conneries on dirait ! Encore mille excuse, comment alors démarrer Excel en mode full screen sous 2003 ? Merci Pour le reste je tetse cela de suite.

Re-,

jusqu'à ce que j'ouvre ton fichier.... 😡😡

Ne jamais mettre de code dans le WorkBook_Open qui influe sur la présentation de l'application Excel. 😎

C'est pas gênant en soi, mais pour des néophytes, cela peut leur faire perdre les pédales, d'où une multitude de questions (J'ai perdu ma barre de formules.....) sur ce forum...
 
Re : Macre enregistrer sous - ajout du répertoire ?

Voici mon test :
fichier Vtest créer,
1- clic sur sauvegarde Simulation > vTest...xls créer dans Mes Documents (par exemple)
2- clic sur sauvegarde Demande > vTest...xls créer dans Mes Documents/vTest/ (par exemple)
3- ouverture de vTest....xls de Mes documents et clic sur Sauvegarde Simulation
ou
ouverture de vTest....xls de Mes documents/vTest/ et clic sur Sauvegarde Demande
et là, voici l'erreur rencontrée :

[/URL]

[/URL]

[/URL]
 
Dernière modification par un modérateur:
Re : Macre enregistrer sous - ajout du répertoire ?

Bonjour à tous,

Es-tu sur d'avoir un disque P:\ ?
Es-tu sur d'avoir un disque D:\ ?
Es-tu sur d'avoir un disque O:\ ?
N'y aurait-il pas un \ de trop ? (Rep : "P:\"... et SaveAs Rep & "\" &....)


Pour remettre XL comme tu l'as ouvert :

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayFullScreen = False
With ActiveWindow
.DisplayGridlines = True
.DisplayHeadings = True
.DisplayOutline = True
.DisplayZeros = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With
With Application
.DisplayFormulaBar = True
.DisplayStatusBar = True
.ShowWindowsInTaskbar = True
End With
Application.CommandBars("Standard").Visible = True
Sheets("Demande").Select
Range("B2").Select
End Sub

Private Sub Workbook_Open()
Application.DisplayFullScreen = True
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayOutline = False
.DisplayZeros = False
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With
With Application
.DisplayFormulaBar = False
.DisplayStatusBar = False
.ShowWindowsInTaskbar = False
End With
Application.CommandBars("Standard").Visible = True
Sheets("Demande").Select
Range("B2").Select
End Sub
A+ à tous
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
463
Réponses
5
Affichages
927
Réponses
4
Affichages
763
Retour