Bonjour à tous,
je sèche sur un problème qui doit être basique pour vous (je ne suis pas expert, loin de là).
Voici ma problématique :
- tableau de suivi des résultats de mes parties de golf. A partir de ce tableau, j'ai nommé certaines cellules pour faire mes statistiques de jeu qui sont compilées dans un autre onglet,
- à chaque nouvelle partie, je duplique le tableau de base et je le remplis avec les nouvelles données,
- quand je duplique mon tableau de base : mes statistiques ne se remplissent pas automatiquement car les noms des cellules utilisées ne sont pas dupliqués et je dois renommer chaque cellule individuellement. Chaque cellule renommée permet d'actualiser mes statistiques,
- j'ai essayé toutes les méthodes de copier/coller pour tenter de trouver la solution pour copier le nom des cellules, sans succès.
Quelqu'un peut-il m'aider sur ce coup ?
Je ne sais pas si je suis suffisamment clair dans mes explications...
Un nom de cellule est associé à sa feuille (ex: nom Essai = Feuil1!$A$1) donc il est normal de ne pas avoir le nom sur une autre feuille avec la référence de la nouvelle feuille.
Bonjour JHA, merci pour votre retour.
Je duplique mon tableau dans la même feuille, directement sous le tableau précédent. et pourtant, je perds le nom des cellules.
Voici le fichier en question :
- le premier onglet (RMCG P-JP) contient le tableau de base que je duplique à chaque nouvelle partie.
J'ai 29 noms différents de cellules : si je clique sur un nom, les cellules qui portent ce nom sont encadrées.
Lorsque je duplique le tableau, les noms des cellules n'apparaissent pas dans le nouveau tableau (vous le constaterez sur les tableaux dupliqués mais non remplis).
- le deuxième onglet (Stats) contient les statistiques calculées d'après le nom des cellules.
J'espère que cela sera plu clair avec l'exemple précis.
Merci pour votre aide.
Si j'ai bien compris, vous avez des noms définis dans la feuille modèle et qui référencent des cellules ou plages de la feuille modèle.
Quand vous dupliquez la feuille modèle, vous voudriez que dans cette nouvelle feuille, les noms référencent les mêmes cellules ou plages mais de la nouvelle feuille et non plus les cellules et plages de la feuille modèle ?
Dans ce cas, essayez de définir les noms de la feuille modèle comme étant des noms de feuille et non des noms de classeur.
Hi Apple
Je duplique le tableau dans la même feuille, dans le même onglet, juste en-dessous du premier tableau.
Ce tableau est relativement petit car il fait 30 colonnes sur 18 lignes.
Re
Je pense que le mieux serait d'utiliser un seul tableau et construire une base de données avec les éléments que vous entrez dans ce tableau pour chaque parties. C'est à partir de cette base de données que vous pourrez effectuer vos calculs statistiques à mon avis. Pour ce qui est des parties enregistrées dans la base de données il vous sera facile d'appeler une journée pour retrouver les données telles que présentées dans votre feuille RMGC P-JP. Qu'en pensent les contributeurs?
Re
Je pense que le mieux serait d'utiliser un seul tableau et construire une base de données avec les éléments que vous entrez dans ce tableau pour chaque parties. C'est à partir de cette base de données que vous pourrez effectuer vos calculs statistiques à mon avis. Pour ce qui est des parties enregistrées dans la base de données il vous sera facile d'appeler une journée pour retrouver les données telles que présentées dans votre feuille RMGC P-JP. Qu'en pensent les contributeurs?
Si je comprends bien, je dois construire une BdD à partir de mon tableau existant. Je vais réfléchir à cela, je suis loin d'avoir les compétences nécessaires, je sens que cela va m'occuper un moment.
lol
La méthode utilisée par Pjeep consiste à nommer non pas une cellule mais une plage de cellules disjointes.
Et ceci sur 28 plages.
C'est une bonne méthode, pas besoin de créer une base de données.
Mais il faut que chaque plage soit mise à jour chaque fois qu'un tableau Peter ou JP est créé.
Pour cela voyez le fichier joint et cette macro dans le code de la feuille "RMGC P_JP" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim decal, derlig&, nom As Name, c As Range, P As Range
decal = 16 'décalage de lignes entre les cellules
derlig = UsedRange.Row + UsedRange.Rows.Count
For Each nom In ThisWorkbook.Names
If nom.Name Like "p-*" Or nom.Name Like "jp_*" Then
Set c = Range(nom.Name)(1) '1ère cellule de la plage
Set P = c
Do
If CStr(c) <> "" Then Set P = Union(P, c) 'reconstruit la plage
Set c = c.Offset(decal)
Loop While c.Row < derlig
P.Name = nom.Name 'nomme la plage
End If
Next
End Sub
Elle se déclenche automatiquement chaque fois qu'une cellule est modifiée ou validée.
Pour tester entrez un 1 dans la cellule Z107 puis voyez le nom jp_bird, la plage s'est agrandie.
La méthode utilisée par Pjeep consiste à nommer non pas une cellule mais une plage de cellules disjointes.
Et ceci sur 28 plages.
C'est une bonne méthode, pas besoin de créer une base de données.
Mais il faut que chaque plage soit mise à jour chaque fois qu'un tableau Peter ou JP est créé.
Pour cela voyez le fichier joint et cette macro dans le code de la feuille "RMGC P_JP" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim decal, derlig&, nom As Name, c As Range, P As Range
decal = 16 'décalage de lignes entre les cellules
derlig = UsedRange.Row + UsedRange.Rows.Count
For Each nom In ThisWorkbook.Names
If nom.Name Like "p-*" Or nom.Name Like "jp_*" Then
Set c = Range(nom.Name)(1) '1ère cellule de la plage
Set P = c
Do
If CStr(c) <> "" Then Set P = Union(P, c) 'reconstruit la plage
Set c = c.Offset(decal)
Loop While c.Row < derlig
P.Name = nom.Name 'nomme la plage
End If
Next
End Sub
Elle se déclenche automatiquement chaque fois qu'une cellule est modifiée ou validée.
Pour tester entrez un 1 dans la cellule Z107 puis voyez le nom jp_bird, la plage s'est agrandie.
Alors là, vous m'avez scotché ! Mille mercis.
Je vous offre avec grand plaisir un cours ou une initiation de golf.
Pour cela, il faudra venir sur la Côte d'Azur.