Destination d'un fichier après une macro VBA

Bonjour à tous !

J'ai fais une programmation sur VBA y'a de cela un certain de temps. Elle fonctionne toujours à merveille seulement j'ai un petit problème.

En faite cette macro enregistre automatiquement des fichiers par rapport à des critères bien définis seulement petit hic. J'avais oublié de mentionner la destination des enregistrements des fichiers... Actuellement la macro fonctionne bien mais elle enregistre les fichiers n'importe où sur le pc sans réelle logique.

Comment faire pour juste mentionner l'emplacement des enregistrements sur cette programmation?

Voici ma prog VBA :

Sub MacroDili()
'
' MacroDili Macro
'
On Error Resume Next
    Lign = 2 ' on commence sur la ligne 2

    ' afficher la feuille qui contients les noms
    Sheets("Feuil1").Select

    Do      'Boucle pour passer en revu tous les noms
        ' On test si le fichier est clos. UCase permet de
        '  transformer les minuscules en majuscules
        If UCase(Cells(Lign, 3).Value) <> "X" Then
            'On recupères les valeurs pour les copier dans le modèle
            Nom = Cells(Lign, 2).Value
            Fic_Dili = Chem & Cells(Lign, 4).Value & "x"
            Num_Dos = Cells(Lign, 1).Value
            Sheets("Modele").Select
            Cells(2, 2).Value = Nom
            Cells(3, 2).Value = Num_Dos
            ' On copie la feuille
            Sheets("Modele").Copy
            ' on copie ds un classeur de format 2003
            ActiveWorkbook.SaveAs Filename:=Fic_Dili, FileFormat:=xlOpenXMLWorkbook, _
                CreateBackup:=False
            'on ferme le nouveau classeur
            ActiveWindow.Close
        End If
        Lign = Lign + 1
        Sheets("Feuil1").Select
    Loop While Cells(Lign, 1).Value <> ""

    'Pour faire propre on peut effacer ce que contient la feuille modele (facultatif)
    Cells(2, 2).Value = ""
    Cells(3, 2).Value = ""
    Sheets("Feuil1").Select
End Sub

Bonjour

Ta variable chem n'est pas initialisée

Exemple

Sub MacroDili()
'
' MacroDili Macro
'
 chem = ThisWorkbook.Path & "\"
 ' Ou
  'chem = "ton chemin" ' Ne pas oublier le "\"
  On Error Resume Next
Banzai64 a écrit :

Bonjour

Ta variable chem n'est pas initialisée

Exemple

Sub MacroDili()
'
' MacroDili Macro
'
 chem = ThisWorkbook.Path & "\"
 ' Ou
  'chem = "ton chemin" ' Ne pas oublier le "\"
  On Error Resume Next

Euh d'accord mais comment intégrer cette variable? et où ? Désolé je suis vraiment une quiche en VBA ça fait longtemps...

Bonjour

Dans le code comme indiqué dans la partie de la macro

Soit tu connais exactement le chemin (exemple : "C:\Users\Admin\Desktop\") tu emploies cette partie

chem =  "C:\Users\Admin\Desktop\" ' Ne pas oublier le "\"

Sinon tu peux enregistrer dans le dossier contenant ce fichier

chem = ThisWorkbook.Path & "\"
Banzai64 a écrit :

Bonjour

Dans le code comme indiqué dans la partie de la macro

Soit tu connais exactement le chemin (exemple : "C:\Users\Admin\Desktop\") tu emploies cette partie

chem =  "C:\Users\Admin\Desktop\" ' Ne pas oublier le "\"

Sinon tu peux enregistrer dans le dossier contenant ce fichier

chem = ThisWorkbook.Path & "\"

Oui merci beaucoup mais en faite quand j'utilise le premier code ça me fait un truc bizarre pourtant je mets bien le "\" à la fin de ma destination. Je ne comprends pas en faite ça me demande d'enregistrer les modifications apportées au classeur crée par la macro...

Par contre l'autre code fonctionne bien et il enregistre dans le repertoire contenant le fichier

Bonjour

Évite d'utiliser le bouton "Citer" pour répondre à un message, cela encombre inutilement le post, utilise le bouton "Répondre" en dessous à gauche du dernier message

Ceci étant préciser

Il faut joindre un fichier en cause pour constater le défaut (un mode d'emploi serait aussi souhaitable)

Oui c'est vrai c'est idiot de mettre citer à chaque fois sorry.

Je te joins le fichier ci-joint la macro s'appelle MacroDili. En faite elle créait des fichiers automatiquement en prenant comme base de donnée les éléments présents dans la "feuil1" à savoir un numéro de dossier (colonne A) le nom de personnes (colonne B). Elle reporte ces éléments dans la feuille "Modele" et enregistre chaque fichier individuellement avec le nom approprié dans la colonne D "Fichier diligence".

J'ai déjà incorporé ton code comme tu le vois ça fonctionne très bien en enregistrant dans le fichier où il y a la macro. Mais quand je mets un chemin ça bug.

12basedonnees2.xlsm (163.13 Ko)

Bonjour

Note exactement ce que tu écris dans la macro quand cela plante

car j'ai testé avec le fichier que tu as envoyé et dans les 2 cas je n'ai pas de soucis

A suivre

Ah oui c'est bon ! Je viens de trouver mon erreur en faite je remarquais ThisWorkbook.Path & avant l'adresse de mon chemin le boulet...

Merci beaucoup !

Par contre, j'ai encore une petite question à poser sur cette macro comme j'ai déjà envoyé le fichier ici faut que je refasse complètement un post ou je peux poser ma question ici?

Bonjour

Si il y a un rapport avec ta 1ère question tu peux continuer ici

Sinon ouvre un autre post

Rechercher des sujets similaires à "destination fichier macro vba"