macro pour

jeromear

XLDnaute Junior
imprimer tous les fichiers d'un dossier

[/B]Bonjour le forum et bonne année à tout le monde,

Je cherche un code pour une petite application :

A partir de :
-Un DOSSIER nommé "FEUILLES PREPA" de 80 fichiers (1 des 80 fichiers joint pour démo : Regarde la pièce jointe FEUILLE PREPA 4 TEMPS.xls)
-Un FICHIER Regarde la pièce jointe impressions.xls

Dans le FICHIER "impressions" situé en dehors du dossier, je cherche à créer une macro ("IMPRIMER FEUILLES PREPA") qui fasse :

1.Ouvrir le dossier "FEUILLES PREPA"
2.ouvrir le premier fichier du dossier
3 mettre a jour les liaisons
3.Filtre automatique : colonne A :"non vides"
4.Imprimer
5 effectuer la même opération sur tous les fichiers du dossier

c'est tout


Est ce que quelqu'un aurait juste un petit moment pour venir a mon aide ?


------------------------------------------------------------------------------------------
Le forum m'avait déjà proposé une super macro : "listeetiquettes" présente dans le fichier "impressions" joint, elle est plus compliquée et fait, entre autre :
"mettre à jour les liaisons"
"non vide"
...sur chacun des fichiers d'un dossier.
Il y a donc dans cette macro les 2 premiers points qui m'intéresse mais n'étant pas fort en vba, je n'arrive pas a les reprendre pour mon problème.
--------------------------------------------------------------------------------------------
 
Dernière édition:

jeromear

XLDnaute Junior
imprimer tous les fichiers d'un dossier

Il y a bien ce code qui applique un traitement à tous les fichiers d'un dossier, mais ça ne fonctionne pas :


Code:
'appliquer un traitement quelconque à tous les fichiers d'un dossier

Sub ExamineDossier()
Dim myPath As String

  myPath = "C:\COMMANDES C&A SEM51\SEMAINE 51\FEUILLES PREPA"
  stgFilename = Dir(myPath & "*.xls")
  
  Do While stgFilename <> ""
    Workbooks.Open Filename:=myPath & stgFilename
    '
    Selection.AutoFilter Field:=1, Criterial:="<>"     'traitement désiré'
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    '
    stgFilename = Dir()
  Loop
End Sub
 
Dernière édition:

jeromear

XLDnaute Junior
Re : macro pour

J'ai modifié mon code d'origine mais il plante à :
wbk.Sheets(1).AutoFilter Field:=1, Criterial:="<>"
L'argument nommé n'apparait pas dans la définition de cette procédure

Code:
Public Sub IMPRIMER_FEUILLES_PREPA()
 
Dim wbk As Workbook, awbk As Workbook
Dim Fich As String
Dim OldStateAskToUpdateLinks As Boolean
Const chemin = "F:\COMMANDES C&A SEM51\SEMAINE 51\FEUILLES PREPA"
 
If ThisWorkbook.Path = chemin Then
  MsgBox "Ne pas mettre le classeur contenant le programme dans le dossier " & chemin
  Exit Sub
End If
 
Set awbk = ThisWorkbook
Fich = Dir(chemin & "\*.xls")
Do While Fich <> ""
    Set wbk = Workbooks.Open(chemin & "\" & Fich)
     
    With Application
      OldStateAskToUpdateLinks = .AskToUpdateLinks
      .AskToUpdateLinks = False
      .DisplayAlerts = False
      .ScreenUpdating = False
    End With
    wbk.Sheets(1).AutoFilter Field:=1, Criteria1:="<>"
    wbk.Sheets(1).PrintOut Copies:=1
    wbk.Close
    Set wbk = Nothing
    Fich = Dir
Loop
With Application
  .AskToUpdateLinks = OldStateAskToUpdateLinks
  .DisplayAlerts = True
  .ScreenUpdating = True
End With
Set awbk = Nothing
End Sub

Il n'y aurait pas quelqu'un pour me filer un petit coup de pouce?
 
Dernière édition:

jeromear

XLDnaute Junior
Re : macro pour

Il fallait ecrire
wbk.Sheets(1).Cells.AutoFilter Field:=1, Criteria1:="<>"

Et ben voilà, tout fonctionne.... j'espère que cela pourra servir à quelqu'un d'autre,

Faire un traitement et imprimer tous les fichiers d'un dossier, ça peut être utile !!
 
Dernière édition:

Discussions similaires

Réponses
13
Affichages
579

Statistiques des forums

Discussions
312 553
Messages
2 089 529
Membres
104 205
dernier inscrit
mehaya63