Chemin défini

Moreno076

XLDnaute Impliqué
Bonjour,

voilà je souhaiterais modifier le chemin de recherche de fichiers.
Actuellement la macro ci-dessous cherche les fichiers Ruptures Extractionreappro et wms .xls dans le dossier c:\extractions reappro.
Je souhaiterais que le chemin soit unique dans le dossier c:\extractions reappro\

Function ExisteClassseur("c:\extractions reappro\") As Boolean
Dim existe$
existe = Dir("c:\extractions reappro\")
ExisteClassseur = (existe <> "")
End Function

Sub VerifDossier()
If ExisteClassseur("c:\extractions reappro\Ruptures.xls") = False Then Err.Raise vbObjectError + 1, "Ruptures.xls"
If ExisteClassseur("c:\extractions reappro\ExtractionReappro.xls") = False Then Err.Raise vbObjectError + 1, "ExtractionReappro.xls"
If ExisteClassseur("c:\extractions reappro\WMS*.xls") = False Then Err.Raise vbObjectError + 1, "WMS*.xls"
End Sub


je pense que je dois me tromper dans la syntaxe mais je ne trouve pas où.

Merci de votre aide.
 
G

Guest

Guest
Re : Chemin défini

Bonjour,

Vois si cela convient:
Code:
Function ExisteClassseur(NomClasseur As String) As Boolean
Const Chemin As String = "c:\extractions reappro\"
ExisteClassseur = Dir(Chemin & NomClasseur) <> ""
End Function
Sub VerifDossier()
If ExisteClassseur("Ruptures.xls") = False Then Err.Raise vbObjectError + 1, "Ruptures.xls"
If ExisteClassseur("ExtractionReappro.xls") = False Then Err.Raise vbObjectError + 1, "ExtractionReappro.xls"
If ExisteClassseur("WMS*.xls") = False Then Err.Raise vbObjectError + 1, "WMS*.xls"
End Sub

A+
 

Dranreb

XLDnaute Barbatruc
Re : Chemin défini

Bonjour.

Essayer comme ça :
VB:
Sub VerifDossier()
ChDrive "C": ChDir "c:\extractions reappro"
If Not ExisteClassseur("Ruptures.xls") Then Err.Raise vbObjectError + 1, "Ruptures.xls"
If Not ExisteClassseur("ExtractionReappro.xls") Then Err.Raise vbObjectError + 1, "ExtractionReappro.xls"
If Not ExisteClassseur("WMS*.xls") Then Err.Raise vbObjectError + 1, "WMS*.xls"
End Sub

Function ExisteClassseur(ByVal Nom As String) As Boolean
ExisteClassseur = Dir(Nom) <> ""
End Function
Mais est-ce bien commode et clair, dans le contexte d'utilisation de cette procédure, de lever une erreur ? J'aurais plutôt également écris une Function DossierPasBon() as Boolean et mis un MsgBox dans ExisteClasseur.
 
Dernière édition:

Moreno076

XLDnaute Impliqué
Re : Chemin défini

Voilà le fichier ce sera plus simple.

Le but est de démarrer le fichier gestionruptures1 de n'importe quel endroit et quel que soit son nom si je le renomme.

En démarrant ce fichier une boite de dialogue s'ouvre (mettre non" puis réinitialiser le bouton gestion.
En cliquant sur le bouton bleu je souhaite que ca rapatrie les fichiers se trouvant dans c:\extractions reappros\

Ce qu'il se passe actuellement c'est que ça fonctionne que seulement si le fichier gestionruptures1 se trouve dans le même dossier que les autres.

Voilà messieurs pour le détail.

Merci pour votre aide
 

Pièces jointes

  • ExtractionReappro.xls
    14 KB · Affichages: 20
  • Ruptures.xls
    18 KB · Affichages: 33
  • wms1.xls
    14 KB · Affichages: 28
  • ExtractionReappro.xls
    14 KB · Affichages: 22
  • Ruptures.xls
    18 KB · Affichages: 28
  • wms1.xls
    14 KB · Affichages: 24
  • ExtractionReappro.xls
    14 KB · Affichages: 25
  • Ruptures.xls
    18 KB · Affichages: 32
  • wms1.xls
    14 KB · Affichages: 25
  • Gestion Ruptures1.xls
    698 KB · Affichages: 37
  • Gestion Ruptures1.xls
    698 KB · Affichages: 40
  • Gestion Ruptures1.xls
    698 KB · Affichages: 40

Dranreb

XLDnaute Barbatruc
Re : Chemin défini

Ouais, enfin bon, ce n'est pas l'architecture qui a ma préférence, mais ce n'est peut être pas non plus celle qui est officiellement déconseillée. À la lecture du message au Case vbObjectError + 1 je me pose quand même une question, il faudrait savoir :
Votre dossier "Extractions Reappro" est-il attaché à la racine du lecteur "C" ou "M" ?
De toute façon, ça ne modifie en rien l'esprit de ma proposition.
 

Moreno076

XLDnaute Impliqué
Re : Chemin défini

Mon dossier "Extractions Reappro" est attaché à la racine du lecteur "C" mais sur mon autre PC ce sera "M" d'où la fenêtre.

J'ai essayé de remplacer mon code par le votre mais cela ne fonctionne pas, je ne comprend pas pourquoi.


Ca fonctionne chez vous?

Cordialement

Ouais, enfin bon, ce n'est pas l'architecture qui a ma préférence, mais ce n'est peut être pas non plus celle qui est officiellement déconseillée. À la lecture du message au Case vbObjectError + 1 je me pose quand même une question, il faudrait savoir :
Votre dossier "Extractions Reappro" est-il attaché à la racine du lecteur "C" ou "M" ?
De toute façon, ça ne modifie en rien l'esprit de ma proposition.
 

Dranreb

XLDnaute Barbatruc
Re : Chemin défini

Ca fonctionne chez vous?
Presque. Enfin le nom du fichier n'est pas accepté comme second paramètre du Err.Raise. Mais :
VB:
Sub test()
VerifDossier
End Sub
Sub VerifDossier()
ChDrive "C": ChDir "C:\Documents and Settings\luck\Mes documents"
If Not ExisteClassseur("AOMTriche.xls") Then Err.Raise vbObjectError + 1, , "AOMTriche.xls"
If Not ExisteClassseur("NImporteQuoi.xls") Then Err.Raise vbObjectError + 1, , "NImporteQuoi.xls"
End Sub
L'exécution de test me fait bien une erreur seulement sur le second fichier qui y est affiché.
Avec la ExisteClassseur écrite comme je l'ai indiqué.

(vu que j'ai bien un classeur qui recense les codes triche de Age Of Mythology…)
 
Dernière édition:

Moreno076

XLDnaute Impliqué
Re : Chemin défini

Ca ne fonctionne pas même avec les modifs !

un vrai casse tête !


Presque. Enfin le nom du fichier n'est pas accepté comme second paramètre du Err.Raise. Mais :
VB:
Sub test()
VerifDossier
End Sub
Sub VerifDossier()
ChDrive "C": ChDir "C:\Documents and Settings\luck\Mes documents"
If Not ExisteClassseur("AOMTriche.xls") Then Err.Raise vbObjectError + 1, , "AOMTriche.xls"
If Not ExisteClassseur("NImporteQuoi.xls") Then Err.Raise vbObjectError + 1, , "NImporteQuoi.xls"
End Sub
L'exécution de test me fait bien une erreur seulement sur le second fichier qui y est affiché.
Avec la ExisteClassseur écrite comme je l'ai indiqué.

(vu que j'ai bien un classeur qui recense les codes triche de Age Of Mythology…)
 

Pièces jointes

  • Gestion Ruptures1.xls
    707.5 KB · Affichages: 35
  • Gestion Ruptures1.xls
    707.5 KB · Affichages: 36
  • Gestion Ruptures1.xls
    707.5 KB · Affichages: 36

Dranreb

XLDnaute Barbatruc
Re : Chemin défini

Enlevez le " = False" dans " If Not ExisteClassseur("Ruptures.xls") = False
Il n'y a jamais à comparer un Boolean à True ou False: il exprime à lui tout seul une condition, un point c'est tout, et la négation de cette condition s'obtient en mettant Not devant.
 

Moreno076

XLDnaute Impliqué
Re : Chemin défini

Bonsoir,

Pareil tant que le fichier ne se trouve pas dans le dossier (par exemple sur le bureau) il ne retrouve pas les autres fichiers.

A+

Enlevez le " = False" dans " If Not ExisteClassseur("Ruptures.xls") = False
Il n'y a jamais à comparer un Boolean à True ou False: il exprime à lui tout seul une condition, un point c'est tout, et la négation de cette condition s'obtient en mettant Not devant.
 

Pièces jointes

  • Gestion Ruptures test.xls
    708.5 KB · Affichages: 31
  • Gestion Ruptures test.xls
    708.5 KB · Affichages: 35
  • Gestion Ruptures test.xls
    708.5 KB · Affichages: 31

Dranreb

XLDnaute Barbatruc
Re : Chemin défini

Il n'y a toujours qu'une seule virgule derrière les Err.Raise vbObjectError + 1, or je vous ai dit que chez moi le nom de fichier ne passait pas en tant que paramètre Source, et pour que pour arriver à le faire tourner j'ai du le spécifier comme paramètre Description en ajoutant une seconde virgule.
 

Moreno076

XLDnaute Impliqué
Re : Chemin défini

J abandonne je comprend rien je suis en train detruire mon fichier à force de changer plein de choses.
Je ne suis pas à la hauteur pour faire autant de changement laissez tomber

merci quand même

Il n'y a toujours qu'une seule virgule derrière les Err.Raise vbObjectError + 1, or je vous ai dit que chez moi le nom de fichier ne passait pas en tant que paramètre Source, et pour que pour arriver à le faire tourner j'ai du le spécifier comme paramètre Description en ajoutant une seconde virgule.
 

Dranreb

XLDnaute Barbatruc
Re : Chemin défini

Faites F1 sur Raise, qu'est-ce que vous voulez que je vous dise…
Je ne sais pas pourquoi il n'accepte pas le nom de fichier comme paramètre Source. Probablement parce qu'il ne trouve aucun objet VBA ainsi identifié dans le projet
 

Discussions similaires

Réponses
1
Affichages
335
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 508
Messages
2 089 132
Membres
104 042
dernier inscrit
tropsy89