Bonjour,
J'ai créer une macro qui parcours le répertoire racine et récupère des données dans des fichiers .xlsm fermés. Celle-ci fonctionne sans problème.
Je souhaite désormais adapter cette macro en prenant en compte que :
- de chaque sous répertoire balayés je veux récupérer les données du fichier le plus récemment créé
- les fichiers sont dans plusieurs sous répertoires du répertoires racine et avec 2 sous niveaux
En création de macro, n'étant pas un virtuose de VBA, je procède en général par étape. j'ai fait la première partie, je poursuis donc.
Là je bloque sur du simple je pense ...
j'ai des répertoires comme suit:
racine\xxx\02-chiffrage\*.xlsm
racine\yyy\chiffrage\*.xlsm
racine\zzz\05-Chiffrages\*.xlsm
xxx, yyy .... sont dés répertoires avec des noms différents
le sous répertoire qui suit contient toujours "chiffrage" mais entouré de divers autres caractères
Il y a plusieurs fichiers dans le répertoire final, je veux récupérer le xlsm le plus récent.
Quand je remplace xxx par le caractère étoile (*), j'ai essayé ceci
	
		
 , ça ne marche pas.
Le code ma macro existante est ci-dessous
	
	
	
	
	
		
Pour votre aide SVP, dans un premier temps sur comment utiliser les **** ou autres pour indiquer que les répertoires peuvent présenter différents noms.
Merci par avance
	
		
			
		
		
	
				
			J'ai créer une macro qui parcours le répertoire racine et récupère des données dans des fichiers .xlsm fermés. Celle-ci fonctionne sans problème.
Je souhaite désormais adapter cette macro en prenant en compte que :
- de chaque sous répertoire balayés je veux récupérer les données du fichier le plus récemment créé
- les fichiers sont dans plusieurs sous répertoires du répertoires racine et avec 2 sous niveaux
En création de macro, n'étant pas un virtuose de VBA, je procède en général par étape. j'ai fait la première partie, je poursuis donc.
Là je bloque sur du simple je pense ...
j'ai des répertoires comme suit:
racine\xxx\02-chiffrage\*.xlsm
racine\yyy\chiffrage\*.xlsm
racine\zzz\05-Chiffrages\*.xlsm
xxx, yyy .... sont dés répertoires avec des noms différents
le sous répertoire qui suit contient toujours "chiffrage" mais entouré de divers autres caractères
Il y a plusieurs fichiers dans le répertoire final, je veux récupérer le xlsm le plus récent.
Quand je remplace xxx par le caractère étoile (*), j'ai essayé ceci
		Code:
	
	
	p = ThisWorkbook.Path & "\*\*chiffrage*\"
	Le code ma macro existante est ci-dessous
		VB:
	
	
	Dim col As Integer, p As String, nomfich As String
Application.ScreenUpdating = False 'fige l'écran (pour accélérer)
Range("b1:aa50").ClearContents 'efface la plage de restitution
Range("b5:aa5").ClearComments 'efface les commentaires de la ligne 5
col = 2 'restitution à partir de la ligne 2 (si titres en ligne 1)
p = ThisWorkbook.Path & "\"
nomfich = Dir(p & "*.xlsm") '1er fichier du dossier
While nomfich <> ""
  If nomfich <> ThisWorkbook.Name Then
    Cells(5, col).Value = "='" & p & "[" & nomfich & "]Main page'!d2"
    Cells(5, col).AddComment
    Cells(5, col).Comment.Text Text:=nomfich
    Cells(6, col).Value = "='" & p & "[" & nomfich & "]Main page'!C2"
    col = col + 1
  End If
  nomfich = Dir 'fichier suivant du dossier
Wend
    'remplacer les formules de la feuille par des valeurs
    With ActiveSheet.UsedRange
        .Value = .Value
    End With
Application.ScreenUpdating = True
End Sub
	Pour votre aide SVP, dans un premier temps sur comment utiliser les **** ou autres pour indiquer que les répertoires peuvent présenter différents noms.
Merci par avance