Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

francois31170

XLDnaute Nouveau
Bonjour

Je suis débutant niveau "0" sur vba excel, j'ai eu la chance de trouver sur le net la macro qui correspond à mon besoin.

Mais j'ai un probleme de débutant.

Cette macro ne fonctionne pas car elle n'a pas trouvé le dossier où chercher les fichiers.

Je ne sais pas où je dois renseigner le chemin du dossier, ni quelle est la bonne syntaxe. Ca fait 1 heure que je suis dessus à tout essayer, mais je suis tellement nul !!!

J'hésite entre la ligne 2 ('' Dossier = chemin d'accès aux fichiers ) et la ligne 12 (.LookIn = dossier)

Mon repertoire à analyser (où se trouve les fichiers) est sur c:\test.

Pouvez vous m'aider s'il vous plait ?



Sub test0()
'' Dossier = chemin d'accès aux fichiers
Dim i%, wbk As Workbook, Tmp As Workbook

On Error Resume Next 'pour éviter une éventuelle faute de frappe
If (GetAttr(dossier) And vbDirectory) = False Then
MsgBox "Le dossier " & dossier & " n'existe pas"
Exit Sub
End If

Set wbk = ThisWorkbook

With Application.FileSearch
.NewSearch
.LookIn = dossier
'.SearchSubFolders = True 'scanne les sous dossiers
'.FileType = msoFileTypeExcelWorkbooks 'cherche les .xls
.Filename = "*.xls"
If .Execute > 0 Then

For i = 1 To .FoundFiles.Count
'ouvre les classeurs trouvés
Set Tmp = Workbooks.Open(.FoundFiles(i))
'copie la plage utilisée de la feuille 1
Tmp.Sheets(1).UsedRange.Copy

' on se place sur la 1ere ligne vide de la feuille cible

wbk.Sheets("Liste").Activate
' Liste= feuille cible
Range("a1").Select
Range("A65536").End(xlUp).Select
If i > 1 Then ActiveCell.Offset(1, 0).Select ' on descent d'une ligne
LigneASupp = ActiveCell.Row
'la colle dans le classeur en cours
wbk.Sheets("Liste").Paste
' If i > 1 Then Rows(LigneASupp).Delete
' cette ligne ci dessus efface les entetes de colonne le cas echeant !!
'vide le presse-papiers
Application.CutCopyMode = False
'ferme le classeur copié
Tmp.Close False

Next i
End If
End With

'enregistrement et fermeture
wbk.Save 'As dossier & "\Sommaire"
' wbk.Close
Range("a1").Select

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
37
Affichages
740
Réponses
8
Affichages
238
Réponses
10
Affichages
298
Réponses
3
Affichages
682
Réponses
2
Affichages
525
Réponses
8
Affichages
485
Retour