Récupérer des informations dynamiquement
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:
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 :)