XL 2013 chemin du fichier avec référence cellule

atoch

XLDnaute Nouveau
Bonjur à tous,
je sèche sur un problème pour avoir le chemin juste de mon dossier windows en vba :

source = "D:\" & Range("D3") & "," & " " & Range("P3")
destination : "D:\" & Range("D3") & "," & " " & Range("P3") & " " & Range("F4") & "-" & Range("U4")\vente"
le nom du dossier, qui est variable, est issu de certaines cellules de ma feuille de calcule

si maintenant je fais un file copy, il ne me donne rien, tout comme si je fais une recherche de fichiers dans ce dossier , réponse 0 fichiers, alors qu'il en contient.

merci si quelqu'un peut m'aider.

salutations
 

atoch

XLDnaute Nouveau
Bonjour,

si je prend le code ci-dessous il me dit : Pas de fichiers à déplacer
Sub TesteSiDossierExiste()
'par Excel-Malin.com ( https://excel-malin.com )

Dim MonDossier As String
Dim Chemin As String, Fichier As String

Dim Destination As String

MonDossier = "D:\" & Range("D3") & "," & " " & Range("P3")

If DossierExiste(MonDossier) = True Then
MsgBox "Le dossier existe..."
Chemin = "D:\" & Range("D3") & "," & " " & Range("P3")
Destination = "D:\" & Range("D3") & "," & " " & Range("P3") & " " & Range("F4") & "-" & Range("U4")
Fichier = Dir(Chemin & "*.*")
Do While Len(Fichier) > 0
FileCopy Chemin & Fichier, Destination & Fichier 'copie les fichiers
Fichier = Dir()
Loop

Else
MsgBox "Le dossier n'existe pas..."
End If

End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Dans l' éditeur VBA vous positionner la souris sur le sub et vous appuyer sur F8, mode pas à pas.
Vous appuyez plusieurs fois jusqu'à arriver à Fichier = Dir(Chemin & "*.*")
Dans la fenêtre du bas vous devez avoir les valeurs de Chemin et Destination . Sont ils correct ?
Ou alors donnez les contenus de D3 P3 F4 U4.

Vous attendez vous à ça :
Chemin="D:\ValD3, ValP3"
Destination="D:\ValD3, ValP3 ValF4-ValU4"
Ce qui m'étonnes sont les virgules dans des noms de fichiers.
 

atoch

XLDnaute Nouveau
je vous explique mon besoin :

j'ai un dossier vente nommé ex: ville, client (qui contient des fichiers avec extension diverses)
j'ai un autre dossier_modèle avec des sous-répertoire qui contient mon fichier excel_modèle.
dans ce fichier, je renseigne les cellules: D3 (ville), P3(client), F4(numéro) , U4
en vba, il me copie le dossier_modèle mais en lui changeant le nom.
son nom passe de dossier_modèle à : ville , client 115635-GC. toutes ces données sont variables selon mes renseignements de la feuille excel_modèle.
ce que je souhaite, c'est de copier les fichiers du dossier vente dans mon sous-répertoire "vente" du nouveau dossier copié
ensuite vérifier que les fichiers ont bien été copiés dans le nouveau dossier
et à la fin effacer le dossier vente

voilà

merci de l'aide
cordialement
 

atoch

XLDnaute Nouveau
oui désolé de la non réponse à votre question.
si je teste la réponse avec msgbox, oui le chemin est juste
oui je sais pour la virgule, mais bon je ne peux pas changer tous les noms de dossiers de la structure du travail.

cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Déjà tout dépend de ce qu'il y a dans les cellules. Par exemple : si chemin et destination sont des directories où sont rangés des fichiers Fichier = Dir(Chemin & "*.*") Chemin doit absolument se terminer par \. Si ce n'est pas le cas il faut faire : Fichier = Dir(Chemin & "\*.*")
Idem pour destination;
Par ex aussi, vous faites : Fichier = Dir(Chemin & "*.*")
puis Chemin & Fichier donc Chemin & Dir(Chemin & "*.*") ... ça me laisse perplexe.

Sans fichier de votre part, même très simplifié, il est impossible de vous dépanner.
 

Discussions similaires