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:
comme vous le voyez, 3 macros ( quasi identiques à l'indice pret ) doivent être exécuter en fonction des cases à cocher respectivement true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
voici la premiere macro appelle lorsque la case listing1 est cochée:
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 ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
HELP...merci
Partager