Bonjour tout le monde.
Je m´excuse pour les accents manquants. Ici en Suede on ne connait que les claviers qwerty...
Voici une macro qui utilise la fonction FileSearch. Elle vient scruter un dossier Data a la recherche d´un fichier ref. Si elle le trouve alors, elle ouvre ce fichier. Sinon, elle le cree.
Pour la plupart des ref cherches mon Filesearch retourne 1 (car elle trouve ce fichier et l´ouvre donc). Cependant pour certaines ref qu´elle ne trouve pas (exemple la reference 11) elle retourne un autre nombre (125,6,27..et jamais 0). J´ai donc remplace dans mon IF " > 0 " par "=1"
Le probleme: Pour la reference 11,
1er lancement de la macro: la reference 11 n´est pas trouve (filsearch retourne 125). La macro cree donc le fichier du nom de la reference 11
2eme lancement: la reference 11 n´est toujours pas trouve et filsearch retourne 126). Il est normal qu´il ne la trouve pas puisque ma condition est "1". Mais alors, Comment puis-je faire? que la macro trouve ou ne trouve pas le fichier, filesearch retourne toujour un entier >0. de plus cet entier est variable selon les des reference cherchees.
J´espere que mes explications sont claires. J´avoue qu´apres 2 jours passes dessus, je suis totalement perdu. Si quelqu´un a une idee...
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Sub chercher_data(ref As String) Dim fs Set fs = Application.FileSearch With fs .LookIn = "N:\PLAN\Plan\Supply chain utskick\Min_Max\Data" .Filename = ref If .Execute() > 0 Then Workbooks.Open Filename:="N:\PLAN\Plan\Supply chain utskick\Min_Max\Data\" & ref 'mon code Windows(ref).Close Else ' MsgBox "There were no files found." Workbooks.Add Chemin = ThisWorkbook.Path & "\Data" ActiveWorkbook.SaveAs Filename:="N:\PLAN\Plan\Supply chain utskick\Min_Max\Data\" & ref ActiveWorkbook.Close End If End With End Sub
Partager