Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

aide sur fonction set fso

  • Initiateur de la discussion Initiateur de la discussion sri75
  • 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 !

sri75

XLDnaute Occasionnel
Bonjour, j'ai crée cette macro pour déplacer des fichiers d'un répertoire dans un autre mais j'ai un bug dans le 1er fso movefile si il a déplacé un fichier qui existait déja.

Merci de votre aide car je rame sec, et personne autour de moi ne trouve de solution.





Sub copieecrasante2()


Dim fso As Object, origine As String
Dim destination As String, reponse As Integer
Dim sortie As Byte, message As String
On Error GoTo camarchepas

debut:


origine = "c:\toto\"
destination = "c:\titi\"


Monfichier = Dir(origine & "*.*")

If Monfichier <> "" Then






Set fso = CreateObject("scripting.filesystemobject")

fso.MoveFile origine & Monfichier, destination & Monfichier

GoTo debut


Exit Sub
camarchepas:
Select Case Err
Case 58
message = "Le fichier " & destination & " existe déjà" & _
vbNewLine & "Désirez vous le supprimer?"
reponse = MsgBox(message, vbQuestion + vbOKCancel, "Erreur")
Select Case reponse
Case vbOK
Kill destination & Monfichier
fso.MoveFile origine & Monfichier, destination & Monfichier
Case Else
sortie = 1
End Select
Case 53
message = "Le fichier " & origine & " n'existe pas" & _
vbNewLine & "Fin du programme"
MsgBox message
Case Else
End Select


GoTo debut

End If

End Sub
 
Re : aide sur fonction set fso

Bonjour,

A tester:

Code:
......
.........
Monfichier = Dir(origine & "*.*")
'si "Monfichier" n'est pas vide et "Monfichier" n'est pas dans le répertoire de déstination
  If Monfichier <> "" And Monfichier <> Dir(destination & Monfichier) Then
    Set fso = CreateObject("scripting.filesystemobject")
    fso.MoveFile origine & Monfichier, destination & Monfichier
  Else
'ici le code si le fichier est déjà dans le répertoire de déstination

  End If
 
aide sur fonction set fso // resolu

Voila ca marche; Merci beaucoup pour ton aide.



Sub test()

Dim fso As Object, origine As String
Dim destination As String, reponse As Integer
Dim sortie As Byte, message As String
'On Error GoTo camarchepas

debut:


origine = "c:\toto\"
destination = "c:\titi\"


Monfichier = Dir(origine & "*.*")
'si "Monfichier" n'est pas vide et "Monfichier" n'est pas dans le répertoire de déstination
If Monfichier <> "" And Monfichier <> Dir(destination & Monfichier) Then
Set fso = CreateObject("scripting.filesystemobject")
fso.MoveFile origine & Monfichier, destination & Monfichier
Else

If Monfichier = "" Then
MsgBox ("répertoire vide")
Exit Sub

End If



message = "Le fichier " & destination & Monfichier & " existe déjà" & _
vbNewLine & "Désirez vous le supprimer?"
reponse = MsgBox(message, vbQuestion + vbOKCancel, "Erreur")
Select Case reponse
Case vbOK


Select Case Err
Case 53
message = "Le fichier " & origine & " n'existe pas" & _
vbNewLine & "Fin du programme"
MsgBox message
Case Else
End Select

Kill destination & Monfichier


Case vbCancel
Exit Sub

Set fso = CreateObject("scripting.filesystemobject")

fso.MoveFile origine & Monfichier, destination & Monfichier
Case Else
sortie = 1
End Select


End If


GoTo debut


End Sub
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
598
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…