Microsoft 365 Dupliquer des cellules nommées

PJeep

XLDnaute Nouveau
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...

Merci la communauté.

JP
 

PJeep

XLDnaute Nouveau
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.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @PJeep :) ,

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.
 
Dernière édition:

fcyspm30

XLDnaute Nouveau
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?
 

PJeep

XLDnaute Nouveau
s
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
 

job75

XLDnaute Barbatruc
Bonjour Pjeep, le fil,

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.

A+
 

Pièces jointes

  • Parties golf P-JP.xlsm
    57.9 KB · Affichages: 6

PJeep

XLDnaute Nouveau
Bonjour Pjeep, le fil,

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.

A+
Alors là, bravo, vous m'avez scotché !
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 072
Membres
103 110
dernier inscrit
Privé