raccourcir plusieurs macro en une seule

  • Initiateur de la discussion Initiateur de la discussion altinea
  • Date de début Date de début

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 !

altinea

XLDnaute Accro
Bonsoir, le forum,
j'ai 4 macro qui font la même chose, mais je ne sais pas comment faire pour n'en faire qu'une seule, pouvez vous m'aider

Sub 1()
If Sheets("MP").Range("D11").Value = 0 Then
Exit Sub
End If
Sheets("A").PrintOut Copies:=Sheets("MP").Range("D11")
End Sub

Sub 2()
If Sheets("MP").Range("E11").Value = 0 Then
Exit Sub
End If
Sheets("B").PrintOut Copies:=Sheets("MP").Range("E11")
End Sub

Sub 3()
If Sheets("MP").Range("G11").Value = 0 Then
Exit Sub
End If
Sheets("C").PrintOut Copies:=Sheets("MP").Range("G11")
End Sub

Sub 4()
If Sheets("MP").Range("F11").Value = 0 Then
Exit Sub
End If
Sheets("D").PrintOut Copies:=Sheets("MP").Range("F11")
End Sub



Merci pour votre aide
 
Re : raccourcir plusieurs macro en une seule

Bonjour à tous,

Peut-être un truc du genre :
VB:
Option Explicit

Sub Test()
Dim Col&
For Col = 4 To 8
If Sheets("MP").Cells(11, Col) = 0 Then Exit Sub
Sheets(Chr(65 - Col)).PrintOut Copies:=Sheets("MP").Cells(11, Col)
Next Col
End Sub

Mais sans le fichier et les noms de feuilles véridiques, j'ai beaucoup de doute

A+ à tous
 
Re : raccourcir plusieurs macro en une seule

Hi,

Salut JC 😉, Meilleurs vœux...

Attention, Dans son énoncé, F et G sont inversés (feuilles C et D)...

Sinon, une autre solution, en partant du principe que les colonnes se suivent bien....

Code:
Sub imprim()
Dim LesOnglets, Sh
Dim Col As Byte
Col = 4
LesOnglets = Array("A", "B", "C", "D")
For Each Sh In LesOnglets
    With Sheets(Sh)
        If Sheets("MP").Cells(11, Col) > 0 Then
            .PrintPreview
'            .PrintOut Copies:=Sheets("MP").Cells(11, Col)
        End If
    End With
    Col = Col + 1
Next Sh
End Sub

Reste à remplacer les noms des onglets "A", "B".... par leur nom exact....

PS, le preview est juste pour m'économiser du papier.....😎

Bonne soirée à tous
 
Re : raccourcir plusieurs macro en une seule

RE, JGCL, BHBH,
concernant ta proposition ça fonctionne, par contre j'ai fait comme tu as dit avec le preview, prendra t'il en compte le nombre exemplaires demandés dans les cellules ligne 11, lors de l'impression papier, car dans le préview je n'ai qu'un exemplaire qui saffiche
Merci
 
- 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
9
Affichages
334
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
814
Réponses
2
Affichages
252
Réponses
4
Affichages
414
Réponses
5
Affichages
544
Réponses
4
Affichages
600
Retour