IF condition1 THEn macro1 ELSEIF condition2 THEN macro2 ELSEIF condition3 then macro3
bonjour,
l'idée est de fusionner 3 feuilles ( listing1, 2, 3) en une listing final ( qui sera archivée).
une userform avec 3cases à cocher listing1 et/ou listing2 et/ou listing 3 et un bouton de commande
voici le code de la userform:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Private Sub CommandButton1_Click() ' bouton valider
With UserForm1
If Controls("listing1") = True Then
Call fusionner_listing1
ElseIf Controls("listing2") = True Then
Call fusionner_listing2
ElseIf Controls("listing3") = True Then
Call fusionner_listing3
End If
End With
'Call Archivage
End Sub |
comme vous le voyez, 3 macros ( quasi identiques à l'indice pret ) doivent être exécuter en fonction des cases à cocher respectivement true.
voici la premiere macro appelle lorsque la case listing1 est cochée:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub fusionner_listing1() '***************** fusion depot1 *************
UserForm1.Hide
'***************** fusion depot1 ********************
Sheets("listing final").Visible = True
Sheets("listing 1").Visible = True
DerLigne = Sheets("listing 1").Cells(1000, 2).End(xlUp).Row
If Sheets("listing 1").Range("B2").Value <> "" Then ' si la cellule sous l'entete de tableau est non vide
Sheets("listing 1").Range("B2:K" & DerLigne).Copy
Sheets("listing final").Range("B10000").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlValues
Sheets("listing 1").Range("B2:K" & DerLigne).ClearContents ' supprime le contenu du listing 1
'***colore les cellules pour identifié le depot1 ***********************
Application.CutCopyMode = False
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 16775147
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Else
MsgBox ("décochez listings 1 car le listing1 est vide et vous ne pouvez donc pas le fusionner")
End If
Sheets("listing 1").Visible = False
Sheets("listing final").Visible = False
End Sub |
si listing2 est cochée, la macro fusion_listing2 (resemblant à listing1 n'est pas executer comme si , une fois la macro listing1 executée , la suite du code de la userform ( elseif) n'etait pas executée ..
HELP...merci