macro cherche fichier capricieuse

remes

XLDnaute Junior
Bonjour à tous,
j'ai une macro capricieuse, si je la comprend à peu prés elle est sencé vérifier que le rep devis existe ou qu'il contiend un classeur et si oui : 1er msgbox, si non 2eme msg box puis activation macro ferme classeur.
Ca foctionne comme je veux sur mon pc perso mais à mon boulot, même si le dossier devis n'existe pas dans c: c'est la 1er msgbox qui vient et ce quoi que je met comme chemin. Je comprend pas. QQ'un aurai une explication? et si possible la traduction de cette mcro. D'avance merci.

Private Sub Workbook_Open()
rep = "C:\devis"
With Application.FileSearch
.LookIn = rep
.SearchSubFolders = False
If .Execute Then
MsgBox "SI VOUS RENCONTREZ DES DIFFICULTES D'UTILISATION, veuillez contacter M. DEBUS REMI"
Else
MsgBox "manque coorespondance"
Call FermeClasseur
End If
End With
 

Papou-net

XLDnaute Barbatruc
Re : macro cherche fichier capricieuse

Bonjour remes,

Apparemment, la fonction FileSearch n'opère que sur des noms de fichiers et non sur des répertoires.

Je te propose donc d'essayer cette solution :

Code:
Private Sub Workbook_Open()
Set rech = Application.FileSearch
With rech
  .LookIn = "C:\devis"
  .FolderName = "*.xls"
  If .Execute > 0 Then
  MsgBox "SI VOUS RENCONTREZ DES DIFFICULTES D'UTILISATION, veuillez contacter M. DEBUS REMI"
  Else
  MsgBox "manque correspondance"
  Call FermeClasseur
End If
End With
End Sub

Si le répertoire 'devis' n'existe pas, alors le deuxième message s'affichera, sinon ce sera le premier. J'ai testé, çà fonctionne.

Espérant avoir répondu.

Cordialement.
 

remes

XLDnaute Junior
Re : macro cherche fichier capricieuse

Papou-net, j'ai un débogage au niveau de : .FolderName = "*.xls".
Mais la formule que j'avais semble réagir au dossier car si je change d'une lettre ex devi au lieu de devis j'ai bien la 2e msgbox mais c sur le pc de mon boulot que ca reste sur la 1er msgbox.??

Merci d'avoir essayé. bis
 

Papou-net

XLDnaute Barbatruc
Re : macro cherche fichier capricieuse

Papou-net, j'ai un débogage au niveau de : .FolderName = "*.xls".
Mais la formule que j'avais semble réagir au dossier car si je change d'une lettre ex devi au lieu de devis j'ai bien la 2e msgbox mais c sur le pc de mon boulot que ca reste sur la 1er msgbox.??

Merci d'avoir essayé. bis

Ah zut, j'ai oublié de modifier après essai : il faut remplacer FolderName par FileName.

Désolé.

Cordialement.
 

remes

XLDnaute Junior
Re : macro cherche fichier capricieuse

Salut Papou-net c'est gentil à toi, je vais l'essayer ton dernier fichier mais j'ai essayé ton code chez moi et la nickel c'est tout bon donc je ne comprend pas pourquoi ca ne fonctionne pas à mon boulot. La je peux pas continuer mais je ne manquerai pas te dire ce qu'il en est.
En vous rmerkiant. à bientôt Rémes
 

Papou-net

XLDnaute Barbatruc
Re : macro cherche fichier capricieuse

Salut Papou-net c'est gentil à toi, je vais l'essayer ton dernier fichier mais j'ai essayé ton code chez moi et la nickel c'est tout bon donc je ne comprend pas pourquoi ca ne fonctionne pas à mon boulot. La je peux pas continuer mais je ne manquerai pas te dire ce qu'il en est.
En vous rmerkiant. à bientôt Rémes

C'est sûrement qu'il manque un complément à installer dans Visual Basic, à ton boulot.

Essaie la manip suivante, dans l'éditeur Visual Basic :

- Menu Outils, Références...

- dans la boîte de dialogue qui s'ouvre, tu coches Microsoft Office 11.0 Object Library

- Et tu valides avec OK.

Selon ta version d'Office, il se peut que la version 11.0 soit différente, mais tu coches celle qui s'affiche.

Espérant avoir répondu,

Cordialement.
 

remes

XLDnaute Junior
Re : macro cherche fichier capricieuse

Bonjour, Papou-net j'ai regardé et à mon boulot, je n'ai trouvé que du 8.0, c'est peut être ça l'explication, il n'y peut être pas de solution....
Une trés bonne journée à toi. Merci Rémes.
 

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN