Bonjour,
J'ai dans fichier un certain nombre d'onglets qui se créent au fur et à mesure de ma macro. Les noms de ces onglets sont récupérés dans une première feuille et stockés dans un tableau dynamique (merci SilkyRoad pour le tutoriel sur les tableaux). Je voudrais que dans l'onglet que je viens juste de créer, il me récupère (copie) les valeurs présentes dans l'onglet dont le nom est le premier de mon tableau de noms.
Pour être plus clair voici mon code :
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
40
41
42
43
44
45 Dim nbIndiv As Integer Dim TabIndiv() As String 'Initialisation nbIndiv = 0 'Recherche du nombre de personnes Sheets("Données a rajouter").Select Range("A1").Select While ActiveCell.Value <> 0 nbIndiv = nbIndiv + 1 ReDim Preserve TabIndiv(nbIndiv) TabIndiv(nbIndiv) = ActiveCell.Value ActiveCell.Offset(5, 0).Select Wend For i = 1 To nbIndiv MsgBox ("Onglet " & i & " = " & TabIndiv(i)) If existFeuille(TabIndiv(i)) Then Sheets(TabIndiv(i)).Select Range("A2").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Select ActiveCell.FormulaLocal = ActiveCell.Offset(-1, 0) + 7 Else Sheets.Add After:=Worksheets(Worksheets.Count) Sheets(Worksheets.Count).Name = TabIndiv(i) Range("B1").Select ActiveCell.FormulaR1C1 = "=TabIndiv(1)!RC" <== Ici ce que j'ai essayé mais qui ne marche pas Range("B1").Select Selection.AutoFill Destination:=Range("B1:F1"), Type:=xlFillDefault Range("A2").Select ActiveCell.FormulaR1C1 = "=TabIndiv(1)!RC" End If Next End Sub Function existFeuille(nomFeuille) As Boolean existFeuille = True On Error GoTo fin: a = Sheets(nomFeuille).Name Exit Function fin: existFeuille = False End Function
PS : si vous voyez des aberrations ou des détails pas très clean dans ce code, n'hésitez pas à m'en faire part, je suis preneur de toute critique sur celui-ci![]()
Partager