Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine,
Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de
reprendre
à travers une boucle de type For next ou For each next
le nom des sous dossiers du dossier Clients dans une feuille Excel
Ex : C1 : Alfred
C2 : Amine,...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jps
bonjour enwann peut-être pourrais-tu adapter cette proc de laurent longre qui suppose que tu coches dans VBE la référence Microsoft Scripting Runtime, je pense mais peut-être que je n'ai pas tout compris de ta question jps Voici par exemple comment reproduire l'arborescence des répertoires du
disque dur (non triés) dans une feuille de calcul avec cette
bibliothèque:
Dim I As Long, J As Integer
Sub Test()
Application.ScreenUpdating = False
Sheets.Add
I = 1: J = 0
With New FileSystemObject
Récurse .GetFolder("C:") 'ici tu devras adapter avec le nom de ton répertoire
End With
ActiveSheet.UsedRange.EntireColumn.AutoFit
ActiveWindow.Zoom = 75
End Sub
Private Sub Récurse(ByVal F As Folder)
If F.SubFolders.Count Then
Dim SF As Folder
I = I - 1
J = J + 1
For Each SF In F.SubFolders
I = I + 1
Cells(I, J) = SF.Name
Récurse SF
Next SF
J = J - 1
End If
End Sub
"erwann67" a écrit dans le message de news:
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
bonjour enwann
peut-être pourrais-tu adapter cette proc de laurent longre qui suppose que
tu coches dans VBE la référence Microsoft Scripting Runtime, je pense
mais peut-être que je n'ai pas tout compris de ta question
jps
Voici par exemple comment reproduire l'arborescence des répertoires du
disque dur (non triés) dans une feuille de calcul avec cette
bibliothèque:
Dim I As Long, J As Integer
Sub Test()
Application.ScreenUpdating = False
Sheets.Add
I = 1: J = 0
With New FileSystemObject
Récurse .GetFolder("C:") 'ici tu devras adapter avec le nom de ton
répertoire
End With
ActiveSheet.UsedRange.EntireColumn.AutoFit
ActiveWindow.Zoom = 75
End Sub
Private Sub Récurse(ByVal F As Folder)
If F.SubFolders.Count Then
Dim SF As Folder
I = I - 1
J = J + 1
For Each SF In F.SubFolders
I = I + 1
Cells(I, J) = SF.Name
Récurse SF
Next SF
J = J - 1
End If
End Sub
"erwann67" <erwann67@discussions.microsoft.com> a écrit dans le message de
news: 79A71D0D-EED3-425C-BF42-3641BBAE1228@microsoft.com...
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine,
Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de
reprendre
à travers une boucle de type For next ou For each next
le nom des sous dossiers du dossier Clients dans une feuille Excel
Ex : C1 : Alfred
C2 : Amine,...
bonjour enwann peut-être pourrais-tu adapter cette proc de laurent longre qui suppose que tu coches dans VBE la référence Microsoft Scripting Runtime, je pense mais peut-être que je n'ai pas tout compris de ta question jps Voici par exemple comment reproduire l'arborescence des répertoires du
disque dur (non triés) dans une feuille de calcul avec cette
bibliothèque:
Dim I As Long, J As Integer
Sub Test()
Application.ScreenUpdating = False
Sheets.Add
I = 1: J = 0
With New FileSystemObject
Récurse .GetFolder("C:") 'ici tu devras adapter avec le nom de ton répertoire
End With
ActiveSheet.UsedRange.EntireColumn.AutoFit
ActiveWindow.Zoom = 75
End Sub
Private Sub Récurse(ByVal F As Folder)
If F.SubFolders.Count Then
Dim SF As Folder
I = I - 1
J = J + 1
For Each SF In F.SubFolders
I = I + 1
Cells(I, J) = SF.Name
Récurse SF
Next SF
J = J - 1
End If
End Sub
"erwann67" a écrit dans le message de news:
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
JB
Bonjour,
Sub ListeFichiers() Application.ScreenUpdating = False Range("A2:E65000").ClearContents ChDir ActiveWorkbook.Path Range("A2").Select nf = Dir("*.xls") Do While nf <> "" ActiveCell = nf ActiveCell.Offset(0, 1) = FileDateTime(nf) ActiveCell.Offset(0, 2) = FileLen(nf) ActiveCell.Offset(0, 3) = GetAttr(nf) If GetAttr(nf) And vbReadOnly Then ActiveCell.Offset(0, 4) = ActiveCell.Offset(0, 4) & " Lect" ActiveCell.Offset(1, 0).Select nf = Dir Loop Range("A2").Select End Sub
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
Bonjour,
Sub ListeFichiers()
Application.ScreenUpdating = False
Range("A2:E65000").ClearContents
ChDir ActiveWorkbook.Path
Range("A2").Select
nf = Dir("*.xls")
Do While nf <> ""
ActiveCell = nf
ActiveCell.Offset(0, 1) = FileDateTime(nf)
ActiveCell.Offset(0, 2) = FileLen(nf)
ActiveCell.Offset(0, 3) = GetAttr(nf)
If GetAttr(nf) And vbReadOnly Then ActiveCell.Offset(0, 4) =
ActiveCell.Offset(0, 4) & " Lect"
ActiveCell.Offset(1, 0).Select
nf = Dir
Loop
Range("A2").Select
End Sub
On 10 août, 11:34, erwann67 <erwan...@discussions.microsoft.com>
wrote:
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine,
Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de
reprendre
à travers une boucle de type For next ou For each next
le nom des sous dossiers du dossier Clients dans une feuille Excel
Ex : C1 : Alfred
C2 : Amine,...
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
gary
Ma solution (chais pu aki jlé prise)
Je reste dans Excel Je me sert d'une boite de dialogue excel pour sélectionner les fichiers que je veux : tous ou une sélection. Et il m'écrit sur la feuille où je travaille, à la première ligne libre, le chemin + nom du fichier.
avec 3000 noms ça devrait encore marcher
Sub recupFileNames() ' localisation destination Dim Debut As Integer 'ActiveSheet.Cells("A1").Select 'Debut = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row 'marche mais : les lignes supprimées sont toujours prisent en compte Debut = WorksheetFunction.CountA(Range(Range("a1"), Range("a65536"))) 'MsgBox (Debut) ' la récup Dim selectedFiles As Variant
For i = 1 To nbfil ActiveSheet.Range("A" & Debut + i).Value = selectedFiles(i)
Next i
End Sub
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
Ma solution (chais pu aki jlé prise)
Je reste dans Excel
Je me sert d'une boite de dialogue excel pour sélectionner les fichiers que
je veux : tous ou une sélection.
Et il m'écrit sur la feuille où je travaille, à la première ligne libre, le
chemin + nom du fichier.
avec 3000 noms ça devrait encore marcher
Sub recupFileNames()
' localisation destination
Dim Debut As Integer
'ActiveSheet.Cells("A1").Select
'Debut = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row 'marche mais
: les lignes supprimées sont toujours prisent en compte
Debut = WorksheetFunction.CountA(Range(Range("a1"), Range("a65536")))
'MsgBox (Debut)
' la récup
Dim selectedFiles As Variant
For i = 1 To nbfil
ActiveSheet.Range("A" & Debut + i).Value = selectedFiles(i)
Next i
End Sub
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine,
Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de
reprendre
à travers une boucle de type For next ou For each next
le nom des sous dossiers du dossier Clients dans une feuille Excel
Ex : C1 : Alfred
C2 : Amine,...
Je reste dans Excel Je me sert d'une boite de dialogue excel pour sélectionner les fichiers que je veux : tous ou une sélection. Et il m'écrit sur la feuille où je travaille, à la première ligne libre, le chemin + nom du fichier.
avec 3000 noms ça devrait encore marcher
Sub recupFileNames() ' localisation destination Dim Debut As Integer 'ActiveSheet.Cells("A1").Select 'Debut = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row 'marche mais : les lignes supprimées sont toujours prisent en compte Debut = WorksheetFunction.CountA(Range(Range("a1"), Range("a65536"))) 'MsgBox (Debut) ' la récup Dim selectedFiles As Variant
For i = 1 To nbfil ActiveSheet.Range("A" & Debut + i).Value = selectedFiles(i)
Next i
End Sub
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
charabeuh
Bonjour,
Essaye cette macro:
Sub Liste_Clients()
'Le chemin du dossier client : c:ma sociétéclients 'Le classeur où doit être insérée la liste : Classeur2.xls 'bien respecter le nombre de guillemet
'selection des noms de répertoire et copie Selection.CurrentRegion.Select Selection.Copy
'sélection du classeur destination, de la cellule C1 et collage des noms de répertoire Windows("Classeur2.xls").Activate Range("C1").Select ActiveSheet.Paste
'fermeture du fichier "tototo.txt" Windows("tototo.txt").Activate ActiveWindow.Close
Windows("Classeur2.xls").Activate
End Sub
"erwann67" a écrit dans le message de news:
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...
Merci
Bonjour,
Essaye cette macro:
Sub Liste_Clients()
'Le chemin du dossier client : c:ma sociétéclients
'Le classeur où doit être insérée la liste : Classeur2.xls
'bien respecter le nombre de guillemet
'selection des noms de répertoire et copie
Selection.CurrentRegion.Select
Selection.Copy
'sélection du classeur destination, de la cellule C1 et collage des noms de
répertoire
Windows("Classeur2.xls").Activate
Range("C1").Select
ActiveSheet.Paste
'fermeture du fichier "tototo.txt"
Windows("tototo.txt").Activate
ActiveWindow.Close
Windows("Classeur2.xls").Activate
End Sub
"erwann67" <erwann67@discussions.microsoft.com> a écrit dans le message de
news:79A71D0D-EED3-425C-BF42-3641BBAE1228@microsoft.com...
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine,
Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de
reprendre
à travers une boucle de type For next ou For each next
le nom des sous dossiers du dossier Clients dans une feuille Excel
Ex : C1 : Alfred
C2 : Amine,...
'selection des noms de répertoire et copie Selection.CurrentRegion.Select Selection.Copy
'sélection du classeur destination, de la cellule C1 et collage des noms de répertoire Windows("Classeur2.xls").Activate Range("C1").Select ActiveSheet.Paste
'fermeture du fichier "tototo.txt" Windows("tototo.txt").Activate ActiveWindow.Close
Windows("Classeur2.xls").Activate
End Sub
"erwann67" a écrit dans le message de news:
Bonjour
Dans un dossier ( Clients ), j'ai 3000 sous dossiers ( Alfred, Amine, Bertrand,... )
Je souhaite obtenir de l'aide pour créer une macro qui me permette de reprendre à travers une boucle de type For next ou For each next le nom des sous dossiers du dossier Clients dans une feuille Excel Ex : C1 : Alfred C2 : Amine,...