Bonjour,
J'ai créé une macro liée à un bouton qui sert à aller chercher des infos dans un fichier excel pour les mettre dans mon tableau. Ca ne fonctionne pas pour le moment, je ne comprends pas pourquoi:
Le button1 sert au mot de passe et le button2 sert à aller chercher dans mes répertoires le dossier que je veux.
La macro trouve effectivement bien les fichiers que je veux (on voit les fichiers s'ouvrir et se refermer un par un) mais lorsqu'elle se termine, rien ne s'est passé dans mon tableau, la colonne 3 est toujours vide.
Voici le texte:
Private Sub CommandButton1_Click()
racine = ChoixDossier()
UserForm4.Rep = racine
End Sub
Private Sub CommandButton2_Click()
UserForm4.Hide
Dim i As Long
Dim Recherche As ClFileSearch.ClasseFileSearch
Z = Feuil4.Cells(5, 8)
Set Recherche = ClFileSearch.Nouvelle_Recherche
'Set fichcherche = Application.FileSearch
With Recherche
.FolderPath = UserForm4.Rep 'Changer le chemin
.SubFolders = UserForm4.CheckBox1.Value
.Extension = "*.xls"
If .Execute > 0 Then
MsgBox .FoundFilesCount & " Fichiers(s) a (ont) été trouvé(s)."
Application.ScreenUpdating = False
'lignevide
For xx = 25 To 65000
If Feuil4.Cells(xx, 2) = "" Then
Index22 = xx - 1
Exit For
End If
Next xx
For i = 1 To .FoundFilesCount
'MsgBox .Files(i).strNom
NOMFICH = .Files(i).strChemin & "\" & .Files(i).strNom
Set xls = Workbooks.Open(NOMFICH, 0, True)
On Error Resume Next
xls.Worksheets("BASE LOCAUX").Activate
'indexfin
For ty = 7 To 65000
If xls.Worksheets("BASE LOCAUX").Cells(ty, 5) = "" Then
indexfin = ty - 1
Exit For
End If
Next ty
'Coûts standards
If xls.Worksheets("BASE LOCAUX").Cells(indexfin, 150) <> 0 Then
For yt = 7 To indexfin
If (xls.Worksheets("BASE LOCAUX").Cells(yt, 3) = Feuil4.Cells(Index22,2)) Then
Feuil4.Cells(Index22, 3) = xls.Worksheets("BASE LOCAUX").Cells(yt, 44)End If
Next yt
End If
xls.Close savechanges:=False
Set xls = Nothing
Next i
Feuil4.Cells(5, 8) = Z
Application.ScreenUpdating = True
Else
MsgBox ("Pas de fichiers trouvés")
End If
End With
End Sub
Voyez-vous l'erreur?
Merci beaucoup d'avance!
J'ai créé une macro liée à un bouton qui sert à aller chercher des infos dans un fichier excel pour les mettre dans mon tableau. Ca ne fonctionne pas pour le moment, je ne comprends pas pourquoi:
Le button1 sert au mot de passe et le button2 sert à aller chercher dans mes répertoires le dossier que je veux.
La macro trouve effectivement bien les fichiers que je veux (on voit les fichiers s'ouvrir et se refermer un par un) mais lorsqu'elle se termine, rien ne s'est passé dans mon tableau, la colonne 3 est toujours vide.
Voici le texte:
Private Sub CommandButton1_Click()
racine = ChoixDossier()
UserForm4.Rep = racine
End Sub
Private Sub CommandButton2_Click()
UserForm4.Hide
Dim i As Long
Dim Recherche As ClFileSearch.ClasseFileSearch
Z = Feuil4.Cells(5, 8)
Set Recherche = ClFileSearch.Nouvelle_Recherche
'Set fichcherche = Application.FileSearch
With Recherche
.FolderPath = UserForm4.Rep 'Changer le chemin
.SubFolders = UserForm4.CheckBox1.Value
.Extension = "*.xls"
If .Execute > 0 Then
MsgBox .FoundFilesCount & " Fichiers(s) a (ont) été trouvé(s)."
Application.ScreenUpdating = False
'lignevide
For xx = 25 To 65000
If Feuil4.Cells(xx, 2) = "" Then
Index22 = xx - 1
Exit For
End If
Next xx
For i = 1 To .FoundFilesCount
'MsgBox .Files(i).strNom
NOMFICH = .Files(i).strChemin & "\" & .Files(i).strNom
Set xls = Workbooks.Open(NOMFICH, 0, True)
On Error Resume Next
xls.Worksheets("BASE LOCAUX").Activate
'indexfin
For ty = 7 To 65000
If xls.Worksheets("BASE LOCAUX").Cells(ty, 5) = "" Then
indexfin = ty - 1
Exit For
End If
Next ty
'Coûts standards
If xls.Worksheets("BASE LOCAUX").Cells(indexfin, 150) <> 0 Then
For yt = 7 To indexfin
If (xls.Worksheets("BASE LOCAUX").Cells(yt, 3) = Feuil4.Cells(Index22,2)) Then
Feuil4.Cells(Index22, 3) = xls.Worksheets("BASE LOCAUX").Cells(yt, 44)End If
Next yt
End If
xls.Close savechanges:=False
Set xls = Nothing
Next i
Feuil4.Cells(5, 8) = Z
Application.ScreenUpdating = True
Else
MsgBox ("Pas de fichiers trouvés")
End If
End With
End Sub
Voyez-vous l'erreur?
Merci beaucoup d'avance!