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
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