simplifier une macro

  • Initiateur de la discussion olivier
  • Date de début
O

olivier

Guest
Bonjour à toutes et à tous

pouvez vous m'aider a simplifier cette macro

pour pouvoir imprimer toutes les villes je suis obligé de repeté
plusieur fois la meme macro de base peut on faire plus simple ?

Merci d'avance pour vos réponses......
a bientôt @ +



Range("B2").Select
ActiveCell.FormulaR1C1 = "orleans"
Range("A5:F21").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"B1:B2"), CopyToRange:=Range("A24"), Unique:=False
Range("A24:F28").Select
Selection.ClearContents
Range("A24:F28").Select
Selection.PrintOut Copies:=1, Collate:=True

puis meme macro avec les autre villes Paris , Bordeaux , Nantes .....
 

Pièces jointes

  • liste.xls
    22.5 KB · Affichages: 52
  • liste.xls
    22.5 KB · Affichages: 50
  • liste.xls
    22.5 KB · Affichages: 49
R

Robert

Guest
Salut Olivier, Salut le forum,

Voici la solution que je te propose, j'espère qu'elle te conviendra.

For x = 1 To 4
Range("B2").Select
ActiveCell.Value = Cells(x + 4, 8).Value
Range("A5:F21").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"B1:B2"), CopyToRange:=Range("A24"), Unique:=False
Range("A24:F28").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A24:F28").Select
Selection.ClearContents
Next x


j'ai inversé la partie ClearContents avec la partie printOut car sinon je n'imprimais que des pages blanches...

À plus,

Robert
 
B

Buzz

Guest
Tu m'en donne des nouvelles ! :)

For Villes = 1 To 4
Select Case Villes
Case 1
Range("B2").Value = "orleans"
Case 2
Range("B2").Value = "Paris"
case3
case4
End Select
Range("A5:F21").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
("B1:B2"), CopyToRange:=Range("A24"), Unique:=False
Range("A24:F28").PrintOut Copies:=1, Collate:=True
Next Villes
 

Statistiques des forums

Discussions
312 451
Messages
2 088 529
Membres
103 879
dernier inscrit
JJB2