Renommer une Directorie

cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007 - 27 nov. 2006 à 18:41
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007 - 29 nov. 2006 à 16:44
Bonjour,

   J'utilise dans un programme VB l'instruction  
                Name    "c:\OldDirectorie"   as   "NewDirectorie"    pour renommer une Directorie. 

   Cette instruction ne marche pas systématiquement et me sort de temps en temps l'erreur 75 (Erreur dans le chemin d'accès)

   Le Chemin d'accès est cependant correcte

 Avez vous une idée sur la question ou une autre technique à me proposer

Par avance Merci.

7 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 nov. 2006 à 19:06
Ton code s'il te plait...
Sur un exemple qui "coince", bien évidemment.
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
28 nov. 2006 à 13:56
Mon Code au moment de l'erreur:

   Name    "c:\Photos\Besançon"   as   "c:\Photos\Nancy" 
0
pape0 Messages postés 132 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 1 septembre 2014
28 nov. 2006 à 17:47
Oui mais le reste de ton code, sans lui on ne peut t'aider.

Apeluche (A+)
Aller voir mes sites
http://www.pape-bleu.net et
http://www.papebleu.net , merci.
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
28 nov. 2006 à 18:26
Le programme fait plus de 1500 lignes. Ci dessous les lignes qui précéde et suivent l'instruction NAME
Il existe peut-être une autre technique
Quelles sont les causes éventuelles de cette erreur

-----------------------------------------------------------------------------------------------------------------

Private Sub Command4_Click(index As Integer)
Call PBeep(3)
Text3.Text = Trim(Text3.Text)


If Text3.Text "" Or index 1 Then
    Text3.Text = ""
    Frame7.Visible = False
    Exit Sub
End If


' Renommer
If Command4(0).Caption = "Renommer" Then
    Frame7.Visible = False
    Z1 = MSHFlexGrid1.TextMatrix(Irow, 1)
    ZDIRECTORIE = Replace(Z1, MSHFlexGrid1.TextMatrix(Irow, 0), Text3.Text)
    MSHFlexGrid1.TextMatrix(Irow, 1) = ZDIRECTORIE
    MSHFlexGrid1.TextMatrix(Irow, 0) = Text3.Text
   
Name Z1 As ZDIRECTORIE

    Call UpdateMesPhotos(4, (Z1))
    Call PBeep(12)
    If DIRENCOURS = Z1 Then
        DIRENCOURS = ZDIRECTORIE
        Call ReadFilesPhotos(MSHFlexGrid1.TextMatrix(Irow, 1))
        Call LoadPhotos
    End If
    Text3.Text = ""
    Exit Sub
End If
   
' Ajouter nouveau Dossier
If AjoutDirectories(Text3.Text, DIRECTORIE0 & Text3.Text) = 0 Then MkDir DIRECTORIE0 & Text3.Text
I1 = MSHFlexGrid1.Rows - 1
MSHFlexGrid1.Row = I1
MSHFlexGrid1.CellAlignment = 4
Call DirVide((I1))
MSHFlexGrid1.CoL = 2
MSHFlexGrid1.Sort = 5
Frame7.Visible = False
Call PBeep(12)
Text3.Text = ""
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
28 nov. 2006 à 21:43
si

ce que tu as écrit plus haut, à savoir :

" Name    "c:\Photos\Besançon"   as   "c:\Photos\Nancy" "

est ce que t'affiche le debugger quand une erreur est produite, une seule explication :

l'un des deux fichiers est déjà ouvert et non refermé.

Si non : mets ici le résultat du debugger au moment d'une erreur !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
28 nov. 2006 à 21:49
Je complète : il suffit que l'in des fichiers du répertoire soit en cours d'utilisation pour que la commande échoue (comme elle échouerait depuis l'explorateur, d'ailleurs)
0
cs_Cpapy Messages postés 133 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 25 septembre 2007
29 nov. 2006 à 16:44
Ce que vous dites est exact.  La directorie que je souhaite Renommé est utilisée quelque part dans le Programme.

J'ai incorporé dans mon programme la procédure ci-dessous et placé le call à cette procédure en suivant le déroulement de mon programme. 

      un coup avec :           Call Onrename("BN")  Besançon --> Nancy
      un autre coup avec:  Call Onrename("")        Nancy       --> Besançon


A un moment, le programme tombe en erreur. et l'erreur devient permanente.

Impossible de trouver la cause de mon Problème

Question idiote:    Est ce qu'il est possible de "Fermer" ou d'agir sur la directorie avant le Rename ?.................  

Merci.
---------------------------------------------------------------------------------------------------------------------------------
Sub Onrename(Parm1 As String)
On error goto xx


If Parm1 = "BN" Then 
    Name      "C:\PhotosMamy\Besançon"    as     "C:\PhotosMamy\Nancy"
    Else
    Name      "C:\PhotosMamy\Nancy"          as    "C:\PhotosMamy\Besançon"
   Exit Sub
End If
xx:
MsgBox "*******Erreur pendant le Rename *********"
End Sub
0
Rejoignez-nous