Probleme de migration Excel 2003 vers Excel 2007

Bonjour j'avais creer une macro qui marchait trés bien sous exel 2003, mon entreprise a migrer sur exel 2010 et depuis ma macro ne fonctionne plus a 1er vue la fonction fileshearch n'est pas reconnu

j'avoue que n'ayant pas 2010 a la maison il m'est diffcile de trouver la solution

voici la macro

Sub coffre()

'*****************************************************************************************************

'Devellopeur : Lascaux Michel

'Date : 12/02/2009

'*****************************************************************************************************

'Vérifie l'état coffre avec état coffre FDB Gignac

'*****************************************************************************************************

'Recherche la FDB Gignac dans le menu agent de controle

'------------------------------------------------------

Set fs = Application.FileSearch 'aplication de recherche

With fs

.LookIn = "\\Br_srv00\Forums\DistrictCahors\ForumPeaDreCahors\Gignac" 'dossier de recherche

.Filename = "FB SOUILLAC*" 'nom du dossier recherché

If .Execute(SortBy:=msoSortByFileName, _

SortOrder:=msoSortOrderAscending) > 0 Then

For i = 1 To .FoundFiles.Count 'enregistrement dans i

a = .FoundFiles(i) 'renvoi i dans a pour ouverture fichier

Next i

Else

MsgBox "There were no files found." 'message si pas trouvé

End If

End With 'fin recherche

'Ouverture la FDB Gignac dans le menu agent de controle

'------------------------------------------------------

ChDir "\\Br_srv00\Forums\DistrictCahors\ForumPeaDreCahors\Gignac"

Workbooks.Open Filename:=a

'selection du dernier onglet FDB labastide

'------------------------------------------------------

b = 1

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select

If Cells(5, 5) <> "" Then

b = b + 1

End If

Sheets(b).Select 'recherche la derniere feuille vierge

If Cells(5, 5) <> "" Then

b = b + 1

End If

b = b - 1

Sheets(b).Select 'revient sur la derniere feuille utilisé

c = Cells(52, 4) 'selectionne la cellule etat coffre sur fdb gignac

ActiveWindow.Close 'ferme feuille de bord

Cells(25, 8) = c

End Sub

merci d'avance je met la feuille exel en pieces jointes pour que vous puissiez voir un peu mieu

40coffre-souillac.zip (22.67 Ko)

Bonjour

Essaye ce code de remplacement

Sub coffre()
  Dim sPath As String, SFic As String
  Stop ' Pour passer en mode débogage, pas à pas = F8
  'Vérifie l'état coffre avec état coffre FDB Gignac
  '*****************************************************************************************************
  'Recherche la FDB Gignac dans le menu agent de controle
  '------------------------------------------------------
  ' Définir le chemin
  sPath = "\\Br_srv00\Forums\DistrictCahors\ForumPeaDreCahors\Gignac\"   'dossier de recherche
  ' Faire un directory du filtre de recherche
  SFic = Dir(sPath & "FB SOUILLAC*")
  ' Si un fichier est trouvé
  Do While SFic <> ""
    'Ouverture la FDB Gignac dans le menu agent de controle
    '------------------------------------------------------
    'ChDir "\\Br_srv00\Forums\DistrictCahors\ForumPeaDreCahors\Gignac"
    Workbooks.Open Filename:=SFic
    'selection du dernier onglet FDB labastide
    '------------------------------------------------------
    b = 1
    ' recherche la derniere feuille vierge
    Do While Sheets(b).Cells(5, 5) <> ""
      b = b + 1
    Loop
    b = b - 1
    Sheets(b).Select                'revient sur la derniere feuille utilisé
    c = Cells(52, 4)                'selectionne la cellule etat coffre sur fdb gignac
    ActiveWorkbook.Close SaveChanges:=xlYes ' Fermer et enregistre le classeur
    Cells(25, 8) = c
    ' Directory du fichier suivant
    SFic = Dir
  Loop
End Sub

A+

bonjour j'essai ça ce soir et je vous tiens au courant

merci

Ça bloque sur l ouverture du fichier

Workbooks.open Filename:=SFic

Il ne trouve pas le fichier alors que celui ci existe

Une autre soluce peut etre

Bonjour

Dis voir, tu pourrais faire un minimum d'effort avec le code que l'on te donne "gratos"

Si tu l'exécutais en mode pas à pas, tu te serais aperçu que "sFic" ne contient que le nom du fichier (erreur de ma part)

Il faut donc pour l'ouvrir, ajouter le chemin avant, à toi de jouer ...

A+

Salut , je ne comprend pas tout a tes expliquation

Quand tu dis rajouter le chemin, tu parles de réactiver la ligne "chdir..."

Si c est le cas j ai essayer ça ne fonctionne pas non plus, sinon est ce que tu pourrais me dire comment le lui spécifier

Merci d avance

Re,

Non, il faut ajouter la variable "sPath" devant

Workbooks.Open Filename:=sPath & sFic

A+

merci cela fonctionne nikel

Rechercher des sujets similaires à "probleme migration 2003 2007"