Macro pour tous les fichiers d'un dossier

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 !

manulemalin13000

XLDnaute Occasionnel
Bonjour le forum,

J'ai une question toute simple...
J'ai une macro qui fonctionne tres bien... comment l'appliquer à 300 fichiers d'un meme dossier sans devoir tout ouvrir puis lancer macro etc...
Merci
 
Re : Macro pour tous les fichiers d'un dossier

Bonjour,

Désolé mais je pensais plus à un parametrage excel pour appliquer la macro a un ensemble de fichier mais ca a l'air plus compliqué...

J'ai environ 300 fichiers auxquels je dois appliquer cette macro
Ces 300 fichiers sont dans un meme dossier

Je cherche à appliquer cela à tous les fichiers d'un dossier.

Merci pour votre aide

Manu

Voici ma macro:

Sub test()
Dim cellRecherche As Range
Set cellRecherche = ActiveSheet.Cells.Find("Slope", , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete
Set cellRecherche = ActiveSheet.Cells.Find("Slope", , , xlPart)
Wend
Set cellRecherche = ActiveSheet.Cells.Find("Y-Intercept", , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete
Set cellRecherche = ActiveSheet.Cells.Find("Y-Intercept", , , xlPart)
Wend
Set cellRecherche = ActiveSheet.Cells.Find("R^2", , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete
Set cellRecherche = ActiveSheet.Cells.Find("R^2", , , xlPart)
Wend
Set cellRecherche = ActiveSheet.Range("A:A").Find("Well", , , xlPart)
While Not cellRecherche Is Nothing
cellRecherche.EntireRow.Delete
Set cellRecherche = ActiveSheet.Range("A:A").Find("Well", , , xlPart)
Wend
Application.Run "efface_ligne_vide"
End Sub

Sub efface_ligne_vide()
Dim l As Integer
For l = Cells(65256, 1).End(xlUp).Row To 1 Step -1
If Cells(l, 1).Value = "" Then Cells(l, 1).EntireRow.Delete
Next l
ActiveWindow.SmallScroll Down:=36
ActiveWindow.ScrollRow = 39
ActiveWindow.ScrollRow = 40
ActiveWindow.ScrollRow = 44
ActiveWindow.ScrollRow = 45
ActiveWindow.ScrollRow = 46
ActiveWindow.ScrollRow = 50
ActiveWindow.ScrollRow = 53
ActiveWindow.ScrollRow = 59
ActiveWindow.ScrollRow = 68
ActiveWindow.ScrollRow = 73
ActiveWindow.ScrollRow = 91
ActiveWindow.ScrollRow = 103
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 131
ActiveWindow.ScrollRow = 148
ActiveWindow.ScrollRow = 164
ActiveWindow.ScrollRow = 180
ActiveWindow.ScrollRow = 194
ActiveWindow.ScrollRow = 196
ActiveWindow.ScrollRow = 203
ActiveWindow.ScrollRow = 212
ActiveWindow.ScrollRow = 214
ActiveWindow.ScrollRow = 217
ActiveWindow.ScrollRow = 229
ActiveWindow.ScrollRow = 234
ActiveWindow.ScrollRow = 246
ActiveWindow.ScrollRow = 259
ActiveWindow.ScrollRow = 270
ActiveWindow.ScrollRow = 290
ActiveWindow.ScrollRow = 307
ActiveWindow.ScrollRow = 326
ActiveWindow.ScrollRow = 353
ActiveWindow.ScrollRow = 377
ActiveWindow.ScrollRow = 394
ActiveWindow.ScrollRow = 414
ActiveWindow.ScrollRow = 428
ActiveWindow.ScrollRow = 443
ActiveWindow.ScrollRow = 455
ActiveWindow.ScrollRow = 469
ActiveWindow.ScrollRow = 479
ActiveWindow.ScrollRow = 495
ActiveWindow.ScrollRow = 509
ActiveWindow.ScrollRow = 524
ActiveWindow.ScrollRow = 541
ActiveWindow.ScrollRow = 559
ActiveWindow.ScrollRow = 564
ActiveWindow.ScrollRow = 586
ActiveWindow.ScrollRow = 600
ActiveWindow.ScrollRow = 602
ActiveWindow.ScrollRow = 604
ActiveWindow.ScrollRow = 605
ActiveWindow.ScrollRow = 607
ActiveWindow.ScrollRow = 611
ActiveWindow.ScrollRow = 617
ActiveWindow.ScrollRow = 634
ActiveWindow.ScrollRow = 638
ActiveWindow.ScrollRow = 641
ActiveWindow.ScrollRow = 644
ActiveWindow.ScrollRow = 648
ActiveWindow.ScrollRow = 649
ActiveWindow.ScrollRow = 651
ActiveWindow.ScrollRow = 653
ActiveWindow.ScrollRow = 655
ActiveWindow.ScrollRow = 658
ActiveWindow.ScrollRow = 662
ActiveWindow.ScrollRow = 668
ActiveWindow.ScrollRow = 670
ActiveWindow.ScrollRow = 673
ActiveWindow.ScrollRow = 675
ActiveWindow.ScrollRow = 673
ActiveWindow.ScrollRow = 670
ActiveWindow.ScrollRow = 664
ActiveWindow.ScrollRow = 660
ActiveWindow.ScrollRow = 654
ActiveWindow.ScrollRow = 653
ActiveWindow.ScrollRow = 645
ActiveWindow.ScrollRow = 639
ActiveWindow.ScrollRow = 633
ActiveWindow.ScrollRow = 624
ActiveWindow.ScrollRow = 621
ActiveWindow.ScrollRow = 615
ActiveWindow.ScrollRow = 614
ActiveWindow.ScrollRow = 610
ActiveWindow.ScrollRow = 609
ActiveWindow.ScrollRow = 607
ActiveWindow.ScrollRow = 606
ActiveWindow.ScrollRow = 605
ActiveWindow.ScrollRow = 602
ActiveWindow.ScrollRow = 601
ActiveWindow.ScrollRow = 600
ActiveWindow.ScrollRow = 599
ActiveWindow.ScrollRow = 596
ActiveWindow.ScrollRow = 595
ActiveWindow.ScrollRow = 592
ActiveWindow.ScrollRow = 591
ActiveWindow.ScrollRow = 588
ActiveWindow.ScrollRow = 587
ActiveWindow.ScrollRow = 586
ActiveWindow.ScrollRow = 583
ActiveWindow.ScrollRow = 582
ActiveWindow.ScrollRow = 580
ActiveWindow.ScrollRow = 578
ActiveWindow.ScrollRow = 577
ActiveWindow.ScrollRow = 575
ActiveWindow.ScrollRow = 572
ActiveWindow.ScrollRow = 563
ActiveWindow.ScrollRow = 562
ActiveWindow.ScrollRow = 559
ActiveWindow.ScrollRow = 556
ActiveWindow.ScrollRow = 554
ActiveWindow.ScrollRow = 551
ActiveWindow.ScrollRow = 549
ActiveWindow.ScrollRow = 547
ActiveWindow.ScrollRow = 546
ActiveWindow.ScrollRow = 544
ActiveWindow.ScrollRow = 543
ActiveWindow.ScrollRow = 542
ActiveWindow.ScrollRow = 541
ActiveWindow.ScrollRow = 539
ActiveWindow.ScrollRow = 538
ActiveWindow.ScrollRow = 537
ActiveWindow.ScrollRow = 535
ActiveWindow.ScrollRow = 533
ActiveWindow.ScrollRow = 532
ActiveWindow.ScrollRow = 530
ActiveWindow.ScrollRow = 529
ActiveWindow.ScrollRow = 528
ActiveWindow.ScrollRow = 527
ActiveWindow.ScrollRow = 525
ActiveWindow.ScrollRow = 524
ActiveWindow.ScrollRow = 523
ActiveWindow.ScrollRow = 522
ActiveWindow.ScrollRow = 520
ActiveWindow.ScrollRow = 519
ActiveWindow.ScrollRow = 518
ActiveWindow.ScrollRow = 517
ActiveWindow.ScrollRow = 515
ActiveWindow.ScrollRow = 514
ActiveWindow.ScrollRow = 510
ActiveWindow.ScrollRow = 509
ActiveWindow.ScrollRow = 508
ActiveWindow.ScrollRow = 506
ActiveWindow.ScrollRow = 505
ActiveWindow.ScrollRow = 504
ActiveWindow.ScrollRow = 503
ActiveWindow.ScrollRow = 501
ActiveWindow.ScrollRow = 500
ActiveWindow.ScrollRow = 499
ActiveWindow.ScrollRow = 498
ActiveWindow.ScrollRow = 496
ActiveWindow.ScrollRow = 495
ActiveWindow.ScrollRow = 494
ActiveWindow.ScrollRow = 493
ActiveWindow.ScrollRow = 491
ActiveWindow.ScrollRow = 490
ActiveWindow.ScrollRow = 488
ActiveWindow.ScrollRow = 486
ActiveWindow.ScrollRow = 485
ActiveWindow.ScrollRow = 483
ActiveWindow.ScrollRow = 481
ActiveWindow.ScrollRow = 480
ActiveWindow.ScrollRow = 479
ActiveWindow.ScrollRow = 477
ActiveWindow.ScrollRow = 475
ActiveWindow.ScrollRow = 474
ActiveWindow.ScrollRow = 472
ActiveWindow.ScrollRow = 471
ActiveWindow.ScrollRow = 470
ActiveWindow.ScrollRow = 469
ActiveWindow.ScrollRow = 467
ActiveWindow.ScrollRow = 466
ActiveWindow.ScrollRow = 465
ActiveWindow.ScrollRow = 464
ActiveWindow.ScrollRow = 462
ActiveWindow.ScrollRow = 461
ActiveWindow.ScrollRow = 460
ActiveWindow.ScrollRow = 459
ActiveWindow.ScrollRow = 457
ActiveWindow.ScrollRow = 456
ActiveWindow.ScrollRow = 454
ActiveWindow.ScrollRow = 452
ActiveWindow.ScrollRow = 451
ActiveWindow.ScrollRow = 450
ActiveWindow.ScrollRow = 449
ActiveWindow.ScrollRow = 447
ActiveWindow.ScrollRow = 446
ActiveWindow.ScrollRow = 445
ActiveWindow.ScrollRow = 443
ActiveWindow.ScrollRow = 441
ActiveWindow.ScrollRow = 440
ActiveWindow.ScrollRow = 438
ActiveWindow.ScrollRow = 437
ActiveWindow.ScrollRow = 436
ActiveWindow.ScrollRow = 435
ActiveWindow.ScrollRow = 433
ActiveWindow.ScrollRow = 432
ActiveWindow.ScrollRow = 431
ActiveWindow.ScrollRow = 430
ActiveWindow.ScrollRow = 428
ActiveWindow.ScrollRow = 427
ActiveWindow.ScrollRow = 426
ActiveWindow.ScrollRow = 425
ActiveWindow.ScrollRow = 423
ActiveWindow.ScrollRow = 422
ActiveWindow.ScrollRow = 420
ActiveWindow.ScrollRow = 418
ActiveWindow.ScrollRow = 416
ActiveWindow.ScrollRow = 414
ActiveWindow.ScrollRow = 413
ActiveWindow.ScrollRow = 412
ActiveWindow.ScrollRow = 409
ActiveWindow.ScrollRow = 408
ActiveWindow.ScrollRow = 407
ActiveWindow.ScrollRow = 404
ActiveWindow.ScrollRow = 403
ActiveWindow.ScrollRow = 402
ActiveWindow.ScrollRow = 401
ActiveWindow.ScrollRow = 399
ActiveWindow.ScrollRow = 398
ActiveWindow.ScrollRow = 396
ActiveWindow.ScrollRow = 394
ActiveWindow.ScrollRow = 392
ActiveWindow.ScrollRow = 391
ActiveWindow.ScrollRow = 389
ActiveWindow.ScrollRow = 388
ActiveWindow.ScrollRow = 387
ActiveWindow.ScrollRow = 385
ActiveWindow.ScrollRow = 384
ActiveWindow.ScrollRow = 383
ActiveWindow.ScrollRow = 380
ActiveWindow.ScrollRow = 379
ActiveWindow.ScrollRow = 378
ActiveWindow.ScrollRow = 375
ActiveWindow.ScrollRow = 374
ActiveWindow.ScrollRow = 373
ActiveWindow.ScrollRow = 370
ActiveWindow.ScrollRow = 363
ActiveWindow.ScrollRow = 360
ActiveWindow.ScrollRow = 359
ActiveWindow.ScrollRow = 355
ActiveWindow.ScrollRow = 353
ActiveWindow.ScrollRow = 351
ActiveWindow.ScrollRow = 350
ActiveWindow.ScrollRow = 349
ActiveWindow.ScrollRow = 346
ActiveWindow.ScrollRow = 345
ActiveWindow.ScrollRow = 344
ActiveWindow.ScrollRow = 343
ActiveWindow.ScrollRow = 351
ActiveWindow.ScrollRow = 354
ActiveWindow.ScrollRow = 356
ActiveWindow.ScrollRow = 363
ActiveWindow.ScrollRow = 370
ActiveWindow.ScrollRow = 374
ActiveWindow.ScrollRow = 375
ActiveWindow.ScrollRow = 377
ActiveWindow.ScrollRow = 378
ActiveWindow.ScrollRow = 379
ActiveWindow.ScrollRow = 380
Range("A9:F392").Select
Range("F392").Activate

Selection.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

Cells.Select
Range("H36").Activate
Selection.Replace What:="Undetermined", Replacement:="40", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
savename = ActiveWorkbook.Name
ActiveWorkbook.SaveAs Filename:= _
"Cla_" & savename _
, FileFormat:=xlText, CreateBackup:=False

Sub aplliqueratous()
Dim Fich As String
Const chemin = "c:....."
Fich = Dir(chemin & "*.txt")
Do While Fich <> ""
Workbooks.Open chemin & Fich
' là, tu mets ton code
Workbooks(Fich).Close True
Fich = Dir
Loop
End Sub

End Sub
 
Re : Macro pour tous les fichiers d'un dossier

bonjour

voir classeur ci-joint avec ta macro(nettoyée)
et la routine auto pour tous les fichiers.

je n'ai évidemment pas modifié le code ne sachant pas ce que tu fais !?
et je n'ai pas non plus essayé !
 

Pièces jointes

Dernière édition:
Re : Macro pour tous les fichiers d'un dossier

Bonjour

Je voulais appliquer à tous mes fichiers une macro avec mot de passe du type

Sub Protect()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Mais, je ne m'y connais pas suffisamment pour adapter le code fourni dans le fichier joint par Roland_M.
 
Re : Macro pour tous les fichiers d'un dossier

Bonsoir

Je suis arrivé à appliquer un mot de passe sur l'ensemble des fichiers du répertoire en créant un sub Test.
Par contre, bien que j'ai indiqué
ActiveSheet.EnableSelection = xlUnlockedCells toutes les cellules peuvent être modifiées alors que je voulais que les utilisateurs n'aient accés qu'aux cellules déverouillées.

Quelqu'un pourrait il m'apporter son aide ?
 
Re : Macro pour tous les fichiers d'un dossier

Bonjour à tous,

Une âme secourable pourrait elle m'indiquer quoi inscrire dans ma macro pour qu'une fois la feuille protégée, les utilisateurs ne puissent scroller que sur les cellules déverrouillées ?
 
Dernière édition:
Re : Macro pour tous les fichiers d'un dossier

bien le bonjour à tous,

comprends pas très bien où tu veux en venir !?
si tu veux qu'un seul champ soit accessible il suffit de déverrouiller les cellules
et ensuite de protéger la feuille !?
sous réserve que les toutes les autres cellules de la feuille soit verrouillées !?

Sub Exemple()
Range("A1 : D10").Locked = False 'déverrouille ce range()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ' protège la feuille !
End Sub

EDIT: avec code

ActiveSheet.Protect Password:="TonCode"
ActiveSheet.Unprotect Password:="TonCode"
ou sheets(Name) ...
 
Dernière édition:
- 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
719
Réponses
10
Affichages
170
  • Question Question
Autres Code VBA
Réponses
11
Affichages
251
Retour