Mettre des feuilles excel en paramètres d'une macro?
Bonjour à tous,
Problème 1
J'ai des feuilles Excel nommées Temp, RC30 (1), RC30 (2), RC30 (3), RC30 (4).
J'ai écrit une macro (comme ci-dessous) qui va copier des données dans 2 feuilles parmi les feuilles RC30 (1), RC30 (2), RC30 (3), RC30 (4) et va les copier dans la feuille Temp.
J'ai créer des paramètres "feuill1" et "feuill2" (qui sont appelées dans la macro, dans l'exemple "feuill2" n'est pas appelé mais c'est parce que j'ai mis qu'un bout de macro).
Pas besoin de vraiment comprendre ma macro ci-dessous pour comprendre mon problème je pense.
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 35 36 37 38 39 40
|
Sub Test(feuill1 As Worksheet, feuill2 As Worksheet)
feuill1.Activate
With feuill1
i# = .Columns(1).Find(2, , , xlWhole).Row
j# = .Columns(1).Find(3, , , xlWhole).Row
k# = .Columns(1).Find(4, , , xlWhole).Row
l# = .Columns(1).Find(5, , , xlWhole).Row
m# = .Columns(1).Find(6, , , xlWhole).Row
'n# = .Range("A" & .Rows.Count).End(xlUp).Row
nb_lignes_1# = i# - 2
'nb_lignes_2# = j# - i#
'nb_lignes_3# = k# - j#
'nb_lignes_4# = l# - k#
'nb_lignes_5# = m# - l#
'nb_lignes_6# = n# - j# + 1
End With
'copie tous les 1
With feuill1
.Range(.[A2], .Cells(i# - 1, 16)).Select
Selection.Copy
End With
'colle tous les 1
Worksheets("TEMP").Activate
Worksheets("TEMP").Range("A2").Select
ActiveSheet.Paste
a# = 1
For a# = 1 To 5
ActiveCell.Offset(nb_lignes_1#, 0).Select
ActiveSheet.Paste
Next
ActiveCell.Offset(nb_lignes_1#, 0).Select |
J'ai écrit une deuxième macro pour appeler la première macro ci dessus.
Par exemple, j'appelle la macro avec les paramètres feuilles excel RC30(1) et RC30(2) comme suit :
Code:
1 2 3
| Sub Test_global()
Call Test(RC30(1), RC30(2))
End Sub |
Le problème c'est que lorsque j'écris ça, ça ne marche pas. Je ne sais pas s'il y a une solution?
Problème 2
Je voulais aussi créer une macro pour pouvoir paramétrer les numéros des feuilles excel.
Code:
1 2 3
| Sub Derniere_macro(chiffre1,chiffre2,chiffre3,chiffre4)
Call Test(RCchiffre1(chiffre2), RCchiffre1(chiffre4))
End Sub |
J'espère que je me suis fait comprendre. :?
Merci beaucoup pour votre réponse. :)