Bonjour à toutes et tous,
Voilà, je suis en train de faire une macro pour le taff et je rencontre un problème avec des liens entre 2 feuilles.
Afin de créer un graphique, je regroupe des données d'une feuille 1 à 3 (discontinues) vers une feuille "global" (qui contient le tableau pour le graphique).
Seulement, je bloque... j'ai essayé différentes approches mais ça ne marche pas!
Voilà la partie du code qui ne marche pas. Je suis parti d'abord d' enregistrement d'une macro puis en écrivant le code correspondant pour la première boucle (celle qui ne marche pas que se soit les 2 façons) pour la deuxième, je ne sais pas si elle marchera???:
J'ai aussi essayé ce code correspondant, idem
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
35
36
37
38
39 ... 'Déclarationdes feuilles Set F1 = Worksheets("Matrice") Set F2 = Worksheets("Global") Set F3 = Worksheets("Métabolites") ... 'remplissage feuille global données If nb3 = 4 Then n = 2 F2.Select F2.Range("b2").Select ActiveCell.FormulaR1C1 = "=Sheets(2).name!R[11]C" F2.Range("c2").FormulaR1C1 = "=Sheets(2).name!R[11]C" F2.Range("D2").FormulaR1C1 = "=Sheets(2).name!R[11]C" F2.Range("e2").FormulaR1C1 = "=Sheets(2).name!R[11]C" F2.Range("F2").FormulaR1C1 = "=Sheets(2).name!R[11]C" F2.Range("G2").FormulaR1C1 = "=Sheets(2).name!R[11]C" F2.Range("H2").FormulaR1C1 = "=Sheets(2).name!R[11]C[2]" F2.Range("i2").FormulaR1C1 = "=Sheets(2).name!R[11]C[10]" F2.Range("j2").FormulaR1C1 = "=Sheets(2).name!R[11]C[14]" F2.Range("k2").FormulaR1C1 = "=Sheets(2).name!R[11]C[14]" F2.Range("l2").FormulaR1C1 = "=Sheets(2).name!R[11]C[14]" F2.Range("m2").FormulaR1C1 = "=Sheets(2).name!R[11]C[14]" Else For n = 3 To nb3 - 2 Step 1 Sheets(n).Select Set plage1 = Sheets(n).Range("B14:G14") Set plage2 = Sheets(n).Range("J14") Set plage3 = Sheets(n).Range("S14") Set plage4 = Sheets(n).Range("x14:AA14") Set maplage = Application.Union(plage1, plage2, plage3, plage4) maplage.Copy Sheets("Global").Range("b" & n) Next n End If ...
J'en perds mon latin, merci d'avance pour l'aide que vous m'apporterez
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
35 If nb3 = 4 Then n = 2 F2.Range("b" & n).Value = Sheets(n)!B14.Value F2.Range("c" & n).Value = Sheets(n)!C14.Value F2.Range("D" & n).Value = Sheets(n)!D14.Value F2.Range("e" & n).Value = Sheets(n)!E14.Value F2.Range("F" & n).Value = Sheets(n)!F14.Value F2.Range("G" & n).Value = Sheets(n)!g14.Value F2.Range("H" & n).Value = Sheets(n)!J14.Value F2.Range("i" & n).Value = Sheets(n)!S14.Value F2.Range("j" & n).Value = Sheets(n)!X14.Value F2.Range("k" & n).Value = Sheets(n)!y14.Value F2.Range("l" & n).Value = Sheets(n)!z14.Value F2.Range("m" & n).Value = Sheets(n)!AA14.Value Else For n =3 To nb3 - 2 Step 1 Sheets(n).Select F2.Range("b" & n).Value = Sheets(n)!B14.Value F2.Range("c" & n).Value = Sheets(n)!C14.Value F2.Range("D" & n).Value = Sheets(n)!D14.Value F2.Range("e" & n).Value = Sheets(n)!E14.Value F2.Range("F" & n).Value = Sheets(n)!F14.Value F2.Range("G" & n).Value = Sheets(n)!g14.Value F2.Range("H" & n).Value = Sheets(n)!J14.Value F2.Range("i" & n).Value = Sheets(n)!S14.Value F2.Range("j" & n).Value = Sheets(n)!X14.Value F2.Range("k" & n).Value = Sheets(n)!y14.Value F2.Range("l" & n).Value = Sheets(n)!z14.Value F2.Range("m" & n).Value = Sheets(n)!AA14.Value Next n End If
philippe
Partager