Erreur sur un code copy de destination sur export de fichier
bonjour à tous
voila après plusieurs jour a créer ce fichier de rangement un peut complexe
j ai réussi a faire la mise en forme souhaité avec plus macro en Vba donc plusieurs bouton a cliqué
je pense on peut me faire, mais je suis pas expert non plus dans la vba
donc j ai plusieurs boutons qui son Numéroté de 1 a 5 pour les Etapes
après si quelqu'un plus expert me regrouper les Etapes de 1 a 4 en une étape
donc mon problème du moment : j ai rentrée le code de copy fichier , mais pas moyen que ça fonctionne , et je voudrais mettre un retour d information de copy si ok ou non ok on peut écraser le fichier vu que c est une copy unique dans un nouveau répertoire
il ce plante sur : sur la ligne fso.CreateFolder Destination
Merci ceux qui ce pencherons sur mon sujet et m aidé a résoudre
Sub CopierFichier()
Dim fso As Object
Dim Source As String
Dim Destination As String
Dim lastRow As Long
Dim i As Long
' Find the last row with data in column A
lastRow = Range("A" & Rows.Count).End(xlUp).Row
' Loop through each row starting from the second row (assumed headers in row 1)
For i = 2 To lastRow
' Construct the full path of the source file
Source = Range("B" & i).value & Range("A" & i).value
' Get the destination folder path
Destination = Range("C" & i).value
' Check if the necessary data is available
If Range("A" & i).value <> "" And Source <> "" And Destination <> "" Then
' Create a File System Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
' Check if the destination folder exists, create it if not
If Not fso.FolderExists(Left(Destination, Len(Destination) - 1)) Then
fso.CreateFolder Destination
Destination = Destination & "\"
End If
' Copy the file from source to destination
Call fso.CopyFile(Source, Destination)
End If
Next i
End Sub
bon je vois personne aurait une solution
je cherche l histoire du problème , donc en automatique sur la création du lien ca ne marche pas
mais si je rentre la ligne en manuel avec la même syntaxe ca fonctionne , j ai 5000 fichier a redéplacer j ai pas fini
quelqu'un aurait une idée merci
Sub CopierFichier()
Dim fso As Object
Dim Source As String
Dim Destination As String
Dim lastRow As Long
Dim i As Long
' Find the last row with data in column A
lastRow = Range("A" & Rows.Count).End(xlUp).Row
' Loop through each row starting from the second row (assumed headers in row 1)
For i = 2 To lastRow
' Construct the full path of the source file
Source = Range("B" & i).value & Range("A" & i).value
' Get the destination folder path
Destination = Range("C" & i).value
' Check if the necessary data is available
If Range("A" & i).value <> "" And Source <> "" And Destination <> "" Then
' Create a File System Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
' Check if the destination folder exists, create it if not
If Not fso.FolderExists(Left(Destination, Len(Destination) - 1)) Then
fso.CreateFolder Destination
Destination = Destination & "\"
End If
' Copy the file from source to destination
Call fso.CopyFile(Source, Destination)
End If
Next i
End SubBonjour,
Je suppose qu'il s'agit d'effectuer le code sur la feuille Tag_fichiers_dossiers car vous ne précisez pas la feuille dans votre code CopierFichier
Pour votre souci je pense que votre erreur vient de cette ligne
Source = Range("B" & i).value & Range("A" & i).valueElle devrait être ceci puisque la colonne B contient déjà le nom du fichier en colonne A
Source = Range("B" & i).valueDe mon coté j'aurais plutot mis le fichier en colonne A comme vous l'avez fait et en colonne B le répertoire (sans le nom du fichier). Dans ce cas le code de la ligne incriminée serait bon
A voir ...
Si ok, pensez à cloturer vos fils et celui-ci
Cordialement
Merci de votre retour
le problème venais d ailleurs que j ai trouver en cherchant un moment
donc c'est résolu