Macro enregistrer sous... dans dossier spécifique

Pierl

XLDnaute Nouveau
Bonjour,
J'ai créé une macro permettant d'enregistrer une fiche de renseignements dans un dossier client à l'aide d'un bouton prévu à cet effet.
Ma macro va sauvegarder automatiquement mon document dans un dossier portant le numéro du client et son nom, contenus tous deux dans la fiche de renseignements. Cela fonctionne très bien tant que le nom est écrit exactement de la même manière.
C'est pourquoi je voudrais que la recherche du dossier s'opère uniquement sur le numéro à 4 chiffres du client, sans prendre en compte la manière dont le nom est écrit (ex. 1234 - Jambois Sarl: la recherche doit s'effectuer sur le numéro 1234).
Si quelqu'un peut m'aider. ..
D'avance merci;-)
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro enregistrer sous... dans dossier spécifique

tu cliques sur le bouton mode avancé

puis tu fais comme idinqué sur l'image

exceldownload.jpg
 

Pièces jointes

  • exceldownload.jpg
    exceldownload.jpg
    27.1 KB · Affichages: 51
  • exceldownload.jpg
    exceldownload.jpg
    27.1 KB · Affichages: 50

Pierl

XLDnaute Nouveau
Re : Macro enregistrer sous... dans dossier spécifique

Bon petit bug quad même: Si le numéro du dossier existe et commence bien par un autre chiffre qu'un zéro, pas de pb, il le met bien dedans. par contre, si ce dernier commence par un "0" (ex. 0033), il le met dans le premier dossier commençant par "33xx" qu'il trouve.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro enregistrer sous... dans dossier spécifique

Bon petit bug quad même: Si le numéro du dossier existe et commence bien par un autre chiffre qu'un zéro, pas de pb, il le met bien dedans. par contre, si ce dernier commence par un "0" (ex. 0033), il le met dans le premier dossier commençant par "33xx" qu'il trouve.

pas testé ce truc

je te dis si je trouve @ plus

je vais à la sainte table :rolleyes:
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro enregistrer sous... dans dossier spécifique

bon hé bien je n'ai rien trouvé pour résoudre ce problème

il y a plus grave pour les non initiés car le dossier ainsi créé pose problème pour sa suppression

pour contourner j'ai trouvé une bidouille qui à l'air de fonctionner mais ne te plaira pas forcément c'est de mettre un underscore pour remplacer le premier 0
 

gilbert_RGI

XLDnaute Barbatruc
Re : Macro enregistrer sous... dans dossier spécifique

bon voilà encore un test
VB:
Sub Save_DPV()
    Dim GestionFichier As New Scripting.FileSystemObject
    ' On commence par définir une variable de type Folder :
    Dim Dossier As Folder, res As String, IDclient As Integer, LGidclient As Integer, chemin As String
    Dim Creation As String
    ActiveSheet.Unprotect
    IDclient = Sheets(1).Range("h4")
    IDclient = Format(IDclient, "0000")
    nomclient = Sheets(1).Range("D8").Value
    LGidclient = 5
    nomfichier = "DPV " & nomclient & "_" & IDclient & " - " & Format(Date, "dd-mm-yy") & ".xlsm"
    chemin = "\Dossiers clients\" 'ici tu mets ton chemin qui fonctionne avec l' antislash à la fin
  ' Cette boucle parcourt tous les dossiers
    For Each Dossier In GestionFichier.GetFolder(chemin).SubFolders
        res = Right(Left(Dossier.Name, LGidclient), 4)
        If res = IDclient Then
            'sauvegarde du fichier Excel
            ActiveWorkbook.SaveAs Filename:=chemin & Dossier.Name & "\" & nomfichier
            Set GestionFichier = Nothing
            Exit Sub
        End If
    Next
    ' si le dossier n'existe pas création
    Creation = chemin & "P" & IDclient & " - " & nomclient & "\" ' ici tu mets une lettre (et une seule) que tu veux
   ' ça peut être n'importe quel caractère autorisé 
    MkDir (Creation)
    ActiveSheet.Protect
    ActiveWorkbook.SaveAs Filename:=Creation & nomfichier
    Set GestionFichier = Nothing

End Sub
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
299

Statistiques des forums

Discussions
312 292
Messages
2 086 855
Membres
103 400
dernier inscrit
MINOU WILL