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

Renommer et déplacer un fichier

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

modus57

XLDnaute Occasionnel
Bonjour.🙂

Malgré plusieurs recherches sur les forums je n’ai pas trouvé de solution.

Si j’utilise l'instruction Name :
Code:
Name "C:\Mes documents\Jurassic Park.pdf" As "C:\Mes documents\Jurassic Park - Copie.pdf"
Dans ce cas pas soucis.

Par contre si j’utilise des variables :
Code:
Dim CheminAncienNomDocument As String, CheminNouveauNomDocument As String
CheminAncienNomDocument = TextBox1 & "\" & ListBox1.List(ListBox1.ListIndex)
CheminNouveauNomDocument = TextBox3 & "\" & ComboBox1 & "\" & ComboBox2 & "\" & ComboBox3 & "\" & ListBox2.List(ListBox2.ListIndex)
La syntaxe
Code:
Name CheminAncienNomDocument  As CheminNouveauNomDocument
génère l’erreur suivante: « Erreur d’exécution 75 : Erreur d’accès Chemin/Fichier »

Ou la méthode fso :
[TABLE="width: 608"]
[TR]
[TD]
Code:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile CheminNouveauNomDocument, CheminNouveauNomDocument
[/TD]
[/TR]
[/TABLE]
génère l’erreur suivante :« Erreur d’exécution 70 : permission refusée »

Je n’arrive pas à trouver une solution, avez-vous une réponse.

Merci d’avance.
 
Dernière édition:
Re : Renommer et déplacer un fichier

Bonjour,

vérifie peut être ce que valent tes variables au moment de l'executon de l'instruction "name"... sans doute l'un des 2 chemins n'est pas valide... voir les 2...

bonne journée
@+
 
Re : Renommer et déplacer un fichier

Bonjour Pierrot93.

Merci pour votre réponse.

J'ai vérifié mes variables avant l'exécution de l'instruction "name" avec Debug.Print, à prime abord elles semblent correctes.

En utilisant LTrim cela ne fonctionne pas.

En ajoutant (.Text) aux TextBox et aux ComBoBox ça change rien.

CheminAncienNomDocument pointe sur C:\ et CheminNouveauNomDocument pointe sur I:\ sur clé USB, je ne pense pas que ce soit un problème.

Je ne sais plus quoi faire.

@ ++
 
Re : Renommer et déplacer un fichier

Re,

La longueur du texte du chemin en dur est égal à x caractères + les guillemets, alors que la longueur du texte du chemin dans les variables est égal à x caractères sans les guillemets.

Comment corriger les syntaxes :
Code:
CheminAncienNomDocument = TextBox1 & "\" & ListBox1.List(ListBox1.ListIndex)
CheminNouveauNomDocument = TextBox3 & "\" & ComboBox1 & "\"  & ComboBox2 & "\" & ComboBox3 & "\" &  ListBox2.List(ListBox2.ListIndex)
et
Code:
Name CheminAncienNomDocument  As CheminNouveauNomDocument
Si c'est la cause du problème ?
 
Re : Renommer et déplacer un fichier

Bonsoir Pierrot93.

C'est bon pour les autorisations sur C: par contre sur I: de la clé USB il n'y a pas d'onglet sécurité.

J'ai réduit la longueur du nom des variables... CheminAncienNomDocument => AncienNom et CheminNouveauNomDocument => Nouveaunom.

Cela ne fonctionne pas.😕

@+
 
Dernière édition:
Re : Renommer et déplacer un fichier

Bonjour Pierrot93 😎

J’ai trouvé en partie d’où vient le problème, voici le code en question :
Code:
Private Sub ListBox1_Click()
'------------------------------------------------------------------------------
'Synchronise l'affichage entre 2 ListBox (si MultiSelect = fmMultiSelectSingle)
'------------------------------------------------------------------------------
    TextBox2.Value = ""
    With ListBox2
        .TopIndex = ListBox1.TopIndex
        .ListIndex = ListBox1.ListIndex
    End With
    If TextBox1.Value = "" Then     End If
    ChDrive Left(TextBox1, InStr(TextBox1, "\"))
    ChDir TextBox1
    chemin = TextBox1
    nom = ListBox1.List(ListBox1.ListIndex)
    Fichier = CurDir & "\" & nom
    On Error Resume Next
    WebBrowser1.Navigate (Fichier)
End Sub
Le principe c’est de cliquer sur un item pour afficher la vignette du fichier PDF.

Si je supprime le :
Code:
Fichier = CurDir & "\" & nom
    On Error Resume Next
    WebBrowser1.Navigate (Fichier)
Plus de message et ça fonctionne parfaitement, mais je souhaiterais conserver le principe pour afficher la vignette du fichier PDF.

Comment procéder svp.

Merci d’avance pour votre réponse.

@+
 
Re : Renommer et déplacer un fichier

Bonjour. 🙂

Pas de réponse, c'est embêtant.

De mon côté je n'ai pas trouvé trouvé de solution, est il possible de savoir s'il existe une possibilité ou pas. Si non j’abandonne cette piste.

Voici le code du CommandButton
Code:
Private Sub CommandButton10_Click()
Dim CheminAncienNomDocument As String, CheminNouveauNomDocument As String
CheminAncienNomDocument = TextBox1 & "\" & ListBox1.List(ListBox1.ListIndex)
CheminNouveauNomDocument = TextBox3 & "\" & ComboBox1 & "\" & ComboBox2 & "\" & ComboBox3 & "\" & ListBox2.List(ListBox2.ListIndex)
    If Dir(CheminNouveauNomDocument) = "" Then
        Name CheminAncienNomDocument As CheminNouveauNomDocument
        Application.ScreenUpdating = False
        ' blabla ....
        TextBox1.SetFocus
        Application.ScreenUpdating = True
        MsgBox "Le nouveau document a été classé et enregistré", , ThisWorkbook.Name
    Else
        MsgBox "Le document est déjà enregistré." & vbLf & "ARRÊT DE LA PROCÉDURE!" & vbLf & "Vérifier s'il s'agit d'un doublon et supprimer le si nécssaire?", , ThisWorkbook.Name
    End If
End Sub

Une réponse posite ou négative me permettra de gagner du temps.

Merci d'avance.
 
Re : Renommer et déplacer un fichier

Bonjour MJ13, Pierrot93. 😎

Finalement j'ai trouvé la solution, il suffit d'ajouter "WebBrowser1.Stop" au début du
Code:
Private Sub CommandButton10_Click()
Cela résout le problème et ça fonctionne nickel-chrome.

Merci à vous et bonne soirée.

M🙂dus57
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…