Application.FileSearch sur Office 2007 et 2010

Résolu
ffs69 Messages postés 13 Date d'inscription vendredi 15 avril 2011 Statut Membre Dernière intervention 11 janvier 2012 - 11 janv. 2012 à 14:54
ffs69 Messages postés 13 Date d'inscription vendredi 15 avril 2011 Statut Membre Dernière intervention 11 janvier 2012 - 11 janv. 2012 à 18:28
Bonjour à tous.
Tout d'abord tous mes vœux de bonne année et de bonne santé pour la nouvelle année qui commence
Je vous écris car je me retrouve face à une nouvelle difficulté dans ma pratique de VBA.
Un de mes utilisateur utilise un fichier Excel depuis longtemps sous sa version 2003. Pendant les fêtes, son poste a été remplacé et il est maintenant équipé d'Office 2010 et voilà sa tête à son retour de congés
Ce fichier contient une formule qui d'après mes recherches n'est plus disponible dans les nouvelles moutures de la suite.
Les alternatives que j'ai trouvées me semble bien complexe avec ajout de module à activer à chaque ouverture du fichier.
Le code d'origine est le suivant :
    Dim Rep As String
    Rep = "\\xxxxx\xxxxx " & Year(myDate) & "" & Month(myDate) & "-12"
    ChDir Rep
With Application.FileSearch
    .NewSearch
    .LookIn = Rep
    .FileType = msoFileTypeAllFiles
    .Execute
End With
With Application.FileSearch
    Dim a As String
    If .FoundFiles.Count = 0 Then
    a = "001"
    Else
    If .FoundFiles.Count < 10 Then
    a = "00" & .FoundFiles.Count + 1
    Else
    a = "0" & .FoundFiles.Count + 1
    End If
    End If
    
End With
Sheets("Feuil1").TextBox1.Text = a & "-" & Month(myDate) & "-" & Year(myDate)

Si je comprends le code, il va chercher dans l'explorateur de fichier si un fichier du même nom existe pour nommer le fichier encours avec le numéro suivant.
Je sais pas si c'est clair désolé.
Si l'un d'entre-vous a une idée pour trouver une alternative fonctionnelle et non exhaustive je lui en serais infiniment reconnaissant.
Par avance merci.

2 réponses

ffs69 Messages postés 13 Date d'inscription vendredi 15 avril 2011 Statut Membre Dernière intervention 11 janvier 2012
11 janv. 2012 à 18:28
3
ffs69 Messages postés 13 Date d'inscription vendredi 15 avril 2011 Statut Membre Dernière intervention 11 janvier 2012
11 janv. 2012 à 15:34
Peut-être je peux faire quelque chose avec ça ? :
Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(filespec)) Then
      msg = filespec & " exists."
   Else
      msg = filespec & " doesn't exist."
   End If
   ReportFileStatus = msg
End Function

Mais je ne sais pas trop comment adapter et si VBS tel quel pourrait fonctionner en VBA ?
Merci encore pour ceux qui prendront le temps de me lire
0
Rejoignez-nous