Récupérer le nom de fichier

nelamari

XLDnaute Nouveau
Bonjour,

J'ai plusieurs fichiers xls dans le répertoire: D:\Documents and Settings\pc\Mes documents\XLS et je souhaite ouvrir le fichier toto.xls et écrire le nom du fichier "toto.xls" dans la cellule(i,8) du même fichier du moment que cette dernière est vide.
ainsi de suite ouvrir le fichier titi.xls et écrire le nom du fichier "titi.xls" dans la cellule(i,8) du même fichier du moment que cette dernière est vide.
 

Pièces jointes

  • execution.zip
    6.5 KB · Affichages: 18

Roland_M

XLDnaute Barbatruc
Re : Récupérer le nom de fichier

bonjour

ci-joint deux exemples
 

Pièces jointes

  • ListRepFich2.xls
    44 KB · Affichages: 65
  • ListRepFich.xls
    23.5 KB · Affichages: 65
  • ListRepFich2.xls
    44 KB · Affichages: 66
  • ListRepFich.xls
    23.5 KB · Affichages: 69
  • ListRepFich2.xls
    44 KB · Affichages: 60
  • ListRepFich.xls
    23.5 KB · Affichages: 64

nelamari

XLDnaute Nouveau
Re : Récupérer le nom de fichier

Voila un exemple de travail que je souhaite faire
le fichier toto.xls dans le zip va servir pour exécuter la macro.
Donc quand j'exécute la macro je trouve bien le titre du fichier dans la colonne 8
pour le fichier CSMT_CGMT08_0566_v1_3.xls mais par pour les autres.
 

Pièces jointes

  • test.zip
    32.2 KB · Affichages: 21
  • test.zip
    32.2 KB · Affichages: 17
  • test.zip
    32.2 KB · Affichages: 20

nelamari

XLDnaute Nouveau
Re : Récupérer le nom de fichier

Je viens de trouver la solution Ci-joint le code corrigé

Code:
Sub Ecrit()
Dim Temp As String
Dim fichier As String
Dim i As Integer
Dim m As Integer

'lecture des fichier xls
Temp = Dir(ActiveWorkbook.Path & "\*.xls")
Application.DisplayAlerts = False

Do While Temp <> "bilan.xls"
'ouvrir le fichier
Workbooks.Open ActiveWorkbook.Path & "\" & Temp
If Temp <> "toto.xls" Or Temp <> "bilan.xls" Then
        For i = 1 To 3
'Activer la feuil 1 est ecrire le nom du fichier dans les cellules de la colonne 8
                Sheets(i).Activate
                    For m = [A100].End(xlUp).Row To 2 Step -1
                    If Cells(m, 1).Value <> "" Then
                    Cells(m, 8).FormulaR1C1 = Temp
                    End If
                Next m
        Next i
End If
Workbooks(Temp).Save
Workbooks(Temp).Close
Temp = Dir

Loop
End Sub

Merci
 

Discussions similaires

Réponses
1
Affichages
418

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux