aducloux
Messages postés33Date d'inscriptionlundi 25 février 2008StatutMembreDernière intervention20 juin 2008
-
20 juin 2008 à 14:00
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
20 juin 2008 à 15:00
re re re re re re bonjour :
ce coup-ci quand je lance mon code j ai une erreur 70 qui apparait et qui me dit que je n ai pas l accees... j ai cherche sur internet et en premier lieu j avais un probleme de \ mais la ne vois vraiement pas pkoi...
merci de m aider
Dim Source1 As String
Dim Source2 As String
Dim Source3 As String
aducloux
Messages postés33Date d'inscriptionlundi 25 février 2008StatutMembreDernière intervention20 juin 2008 20 juin 2008 à 14:13
en gros je vais t'expliquer ou vous expliquer ma macro...
alors : je recupere dans une celleule excel un nom de fichier, or celui-ci peut avoir 3 extensions possibles soit .Tif soit .pdf soit .wmg c pourquoi j ai creer Destin1/2/3 et ObjFS1/2/3 c ets pour les 3 extensions differentes...
c'est bete ce qu j ai fais?
et en ce qui concerne le repertoire destination j ai bien verifie j ai effectivement les droits...
donc je ne sais que faire a part tue mon voisin de bureau a coup de clavier ....
aducloux
Messages postés33Date d'inscriptionlundi 25 février 2008StatutMembreDernière intervention20 juin 2008 20 juin 2008 à 14:27
je suis desole mais je suis novice encore.... si je le suipprime comment vais je alors faire marcher ma commande de copier/coller et comment vais je faire tourner mon test d existence de fichier ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 20 juin 2008 à 14:37
Option Explicit
Private Declare Function GetFileAttributes Lib "kernel32.dll" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Private Declare Function MkDir Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long
Private Const INVALID_FILE_ATTRIBUTES As Long = &HFFFFFFFF
Public Function DoesExist(ByRef vsPath As String) As Boolean
DoesExist = (GetFileAttributes(vsPath) <> INVALID_FILE_ATTRIBUTES)
End Function
Public Sub FileCopy(ByVal vsFilePath As String, ByVal vsDestination As String, Optional ByVal vbOverwrite As Boolean = False)
Dim nPos As Long
Dim sFileName As String
'# On ajoute le "" final, si besoin (le parametres est en ByVal, donc pas de souci)
If Right$(vsDestination, 1) <> "" Then
vsDestination = vsDestination & ""
End If
'# Si le fichier source existe...
If DoesExist(vsFilePath) Then
'# Et si le repertoire de destination est accessible... (l'arborescence sera créée si besoin)
If MkDir(vsDestination) <> 0 Then
'# On récupère le nom du fichier
nPos = InStrRev(vsFilePath, "")
If nPos Then
sFileName = Mid$(vsFilePath, nPos + 1)
'# Si le fichier cible existe, et que l'on a demandé à ne pas l'ecraser...
If DoesExist(vsDestination & sFileName) And vbOverwrite = False Then
'# On quitte la procédure
Exit Sub
End If
'# Sinon, on copie le fichier.
VBA.FileCopy vsFilePath, vsDestination & sFileName
End If
End If
End If
End Sub
Public Sub Test()
Const SRCFOLDER = "K:\Dept LIAISONS\DCLA\PYLONES\13. DOCUMENTATION PYLONES\13.03 PLANS"
Const DSTFOLDER = "D:\Documents and Settings\duclouxant\Mes documents\exo tower"
Dim i As Long
'# Colonne 37 ; ligne 2 à la fin...
For i = 2 To Cells.SpecialCells(xlCellTypeLastCell).Row
'# On tente la recopie de notre fichier
FileCopy SRCFOLDER & Cells(i, 37) & ".tif", DSTFOLDER
FileCopy SRCFOLDER & Cells(i, 37) & ".pdf", DSTFOLDER
FileCopy SRCFOLDER & Cells(i, 37) & ".wmg", DSTFOLDER
Next i
End Sub