Copier Fichier(s) et Ecraser

  • Initiateur de la discussion Initiateur de la discussion franck17
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

franck17

Guest
Bonsoir le Forum

Voila ma question,j'utilise le code suivant pour copier des fichiers d'un repertoire vers un autre.Est il possible a la fin du code de rajouter une MsgBox
pour demander si les fichiers sont deja present dans le repertoire destination si ont veux les ecraser ou pas.

Sub Test1()
Dim Fichiers As Variant
Dim i As Integer
Dim Chemin As String
Dim Fso As Object
ChDir (UserForm4.TextBox1)
'Sélection des fichiers
Fichiers = Application.GetOpenFilename(, , , , True)
If IsArray(Fichiers) = False Then MsgBox "aucun fichier sélectionné", vbOKOnly + vbCritical, "fin de procédure ": Exit Sub
'--- Sélection repertoire ---
Chemin = UserForm4.TextBox2
If Chemin = "" Then Exit Sub
Set Fso = CreateObject("Scripting.FileSystemObject")
'Transfert fichiers
For i = 1 To UBound(Fichiers)
Fso.CopyFile Fichiers(i), Chemin, True
Next
MsgBox "Opération terminée"
UserForm4.TextBox1.Value = ""
UserForm4.TextBox2.Value = ""

Unload UserForm4
End Sub

Merci pour votre aide
 
Re : Copier Fichier(s) et Ecraser

bonjour Franck


J'espère que cette adaptation répondra à ta demande

Code:
        Dim Reponse As String
        Dim Cible As Object
        
        '
        '
        '
        '
        
        For i = 1 To UBound(Fichiers)
            
            Set Cible = Fso.GetFile(Fichiers(i))
            
            'Vérifie si le fichier existe deja dans le classseur destination
            If Dir(Chemin & "\" & Fso.GetFileName(Cible)) <> "" Then
            
                Reponse = MsgBox("Le fichier '" & Fso.GetFileName(Cible) & _
                "' existe déja dans le répertoire " & vbCrLf & "'" & Chemin & "'" & _
                vbCrLf & vbCrLf & "Voulez l'écraser?", vbYesNo)
                
                If Reponse = vbYes Then _
                    Fso.CopyFile Fichiers(i), Chemin & "\", True
            Else
                Fso.CopyFile Fichiers(i), Chemin & "\", True
            End If
        
            Set Cible = Nothing
        
        Next i



Bonne journée
MichelXld
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
661
Réponses
5
Affichages
910
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Réponses
3
Affichages
1 K
Réponses
9
Affichages
884
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Retour