Lancer une macro en fonction de la valeur d'une cellule.

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 !

macropadawan

XLDnaute Nouveau
Bonjour à tous,

Je suis tout nouveau sur le forum.

Je bricole un peu de vba et j'ai besoin de votre aide.

J'ai dans 1 modules 4 macros différentes permettant d'imprimer 4 jeux différents d'onglets en PDF.

Je veux un bouton sur mon fichier excel me permettant de lancer une de ces 4 macros en fonction de la valeur d'une cellule.

Si la cellule X14 = 1 lancer la macro PDF_1
Si la cellule X14 = 2 lancer la macro PDF_2
Si la cellule X14 = 3 lancer la macro PDF_3
Si la cellule X14 = 4 lancer la macro PDF_4

J'ai besoin de vous pour le code de la macro liée au bouton qui va choisir quelle macro appeller.

Voici le code d'une des 4 macros :

Sub PDF_1()
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect ("MMT2014")

Sheets("Express et Premiums").Visible = True
Sheets("Economy & Eco12").Visible = True
Sheets("int_FRANCE").Visible = True
Sheets("Additionnal information").Visible = True
Sheets("General information").Visible = True
Sheets("Dest&Delais").Visible = True

Sheets(Array("Express et Premiums", "Economy & Eco12", "int_FRANCE", "Additionnal information", "General information", "Dest&Delais")).Select
Sheets("Express et Premiums").Activate


On Error GoTo Err_already
Chemin = "D:" & [T174].Value & "_Offre_Commerciale" & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Sheets("PLAY - RESUME").Select

Sheets("Express et Premiums").Visible = False
Sheets("Economy & Eco12").Visible = False
Sheets("int_FRANCE").Visible = False
Sheets("Additionnal information").Visible = False
Sheets("General information").Visible = False
Sheets("Dest&Delais").Visible = False

ActiveWorkbook.Protect ("MMT2014")
Exit Sub

Err_already:
MsgBox ("Ce fichier éxiste déjà sur votre D, veuillez le supprimer avant de le regénérer."), , "Fichier existant"
End Sub

Une solution ??
 
Re : Lancer une macro en fonction de la valeur d'une cellule.

Re,

un bloc If est moins bien adapté, mais en voici la syntaxe :
Code:
If Range("X1").Value = 1 Then
  PDF_1
ElseIf Range("X1").Value = 2 Then
  PDF_2
ElseIf Range("X1").Value = 3 Then
  PDF_3
ElseIf Range("X1").Value = 4 Then
  PDF_4
End If
Caillou
 
Re : Lancer une macro en fonction de la valeur d'une cellule.

Le Select fonctionne parfaitement bien.

Je le trouve en effet plus adapté.

Merci encore.

C'est la finalité de 3 mois de travail, il n me reste plus qu'à envoyer le fichier par macro via lotus, d'après ce que j'ai lu sur les forums, un gros challenge pour moi.
 
- 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

Retour