Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer un tableau avec des données dynamiques se trouvant sur 200 f

4 réponses
Avatar
Brigitte
Bonjour,
Je ne sais pas si quelqu'un peut m'aider mais voici mon problème
J'ai un classeur excel de X feuilles (environ une centaine)
Chaque feuille porte un numéro, un numéro par élève
Sur toutes les feuilles de ce classeur : en L2, j'aurai une valeur
correspondant à la moyenne finale totale de mon élève, au fur et à mesure de
l'incrémentation de ses notes.
Pour tout ça : pas de problème
J'ai une macro qui peut m'insérer une feuille récapitulative de toutes les
données de mes feuilles à un instant t.
1ere colonne : lien hypertexte avec le N° de l'élève et lien direct sur sa
feuille
Ca, c'est bon !
Mais je souhaiterai aller plus loin : j'aimerai, à côté du lien de l'élève,
avoir sa moyenne (en L2), mais une moyenne que je peux voir évoluer au fur et
à mesure de l'incrémentation des notes.
Avec ma macro, je ne peux que faire une "photographie" à un moment !
Bien sûr, je pourrai écrire dans la case ='1'!L2 pour l'élève N°1, puis
='2'!L2 pour l'élève 2,... mais très fastidieux quand on a plus d'une
centaine de feuilles (et que je refais la manip dans plusieurs classeurs!!!)
Voici ma macro récapitulative, peut-être peut-on l'améliorer ? Ou peut-être
existe-t-il une fonction d'excel qui puisse simplifier le travail ?
Merci énormément pour votre aide
A bientôt
Brigitte
Sub Hyperlink2()
Set newfeuille = ActiveWorkbook.Sheets.Add(Type:=xlWorksheet)
For I = 1 To Sheets.Count
newfeuille.Cells(I, 1).Value = Sheets(I).Name
newfeuille.Cells(I, 2).Value = Sheets(I).[L2]
With Worksheets(newfeuille.Name)
ActiveSheet.Hyperlinks.Add Anchor:=.Cells(I, 1), Address:="", SubAddress:= _
Chr(39) & Sheets(I).Name & Chr(39) & "!A1"
End With
Next I
End Sub

4 réponses

Avatar
Misange
Bonjour
Une solution :
Si les moyennes sont en A3 sur chaque feuille
newfeuille.Cells(I, 3).Formula = "=" & Sheets(I).Name & "!A3"
écrit = NomdeLaFeuille!A3 et reste donc dynamique.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour,
Je ne sais pas si quelqu'un peut m'aider mais voici mon problème
J'ai un classeur excel de X feuilles (environ une centaine)
Chaque feuille porte un numéro, un numéro par élève
Sur toutes les feuilles de ce classeur : en L2, j'aurai une valeur
correspondant à la moyenne finale totale de mon élève, au fur et à mesure de
l'incrémentation de ses notes.
Pour tout ça : pas de problème
J'ai une macro qui peut m'insérer une feuille récapitulative de toutes les
données de mes feuilles à un instant t.
1ere colonne : lien hypertexte avec le N° de l'élève et lien direct sur sa
feuille
Ca, c'est bon !
Mais je souhaiterai aller plus loin : j'aimerai, à côté du lien de l'élève,
avoir sa moyenne (en L2), mais une moyenne que je peux voir évoluer au fur et
à mesure de l'incrémentation des notes.
Avec ma macro, je ne peux que faire une "photographie" à un moment !
Bien sûr, je pourrai écrire dans la case ='1'!L2 pour l'élève N°1, puis
='2'!L2 pour l'élève 2,... mais très fastidieux quand on a plus d'une
centaine de feuilles (et que je refais la manip dans plusieurs classeurs!!!)
Voici ma macro récapitulative, peut-être peut-on l'améliorer ? Ou peut-être
existe-t-il une fonction d'excel qui puisse simplifier le travail ?
Merci énormément pour votre aide
A bientôt
Brigitte
Sub Hyperlink2()
Set newfeuille = ActiveWorkbook.Sheets.Add(Type:=xlWorksheet)
For I = 1 To Sheets.Count
newfeuille.Cells(I, 1).Value = Sheets(I).Name
newfeuille.Cells(I, 2).Value = Sheets(I).[L2]
With Worksheets(newfeuille.Name)
ActiveSheet.Hyperlinks.Add Anchor:=.Cells(I, 1), Address:="", SubAddress:= _
Chr(39) & Sheets(I).Name & Chr(39) & "!A1"
End With
Next I
End Sub





Avatar
PMO
Bonjour,

Une piste avec votre code modifié ci-dessous

'***************
Sub Hyperlink2()
Set newfeuille = ActiveWorkbook.Sheets.Add(before:=Sheets(1))
For I = 2 To Sheets.Count
With newfeuille
.Cells(I - 1, 1).Value = Sheets(I).Name
.Cells(I - 1, 2).Formula = "=" & Sheets(I).Name & "!L2"
.Hyperlinks.Add Anchor:=.Cells(I - 1, 1), _
Address:="", _
SubAddress:=Chr(39) & Sheets(I).Name & Chr(39) & "!A1"
End With
Next I
End Sub
'***************

Cordialement.

PMO
Patrick Morange
Avatar
Brigitte
Merci Misange !!!!!
Tout marche super bien
Encore Merci, bonne soirée
Brigitte

"Misange" wrote:

Bonjour
Une solution :
Si les moyennes sont en A3 sur chaque feuille
newfeuille.Cells(I, 3).Formula = "=" & Sheets(I).Name & "!A3"
écrit = NomdeLaFeuille!A3 et reste donc dynamique.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour,
Je ne sais pas si quelqu'un peut m'aider mais voici mon problème
J'ai un classeur excel de X feuilles (environ une centaine)
Chaque feuille porte un numéro, un numéro par élève
Sur toutes les feuilles de ce classeur : en L2, j'aurai une valeur
correspondant à la moyenne finale totale de mon élève, au fur et à mesure de
l'incrémentation de ses notes.
Pour tout ça : pas de problème
J'ai une macro qui peut m'insérer une feuille récapitulative de toutes les
données de mes feuilles à un instant t.
1ere colonne : lien hypertexte avec le N° de l'élève et lien direct sur sa
feuille
Ca, c'est bon !
Mais je souhaiterai aller plus loin : j'aimerai, à côté du lien de l'élève,
avoir sa moyenne (en L2), mais une moyenne que je peux voir évoluer au fur et
à mesure de l'incrémentation des notes.
Avec ma macro, je ne peux que faire une "photographie" à un moment !
Bien sûr, je pourrai écrire dans la case ='1'!L2 pour l'élève N°1, puis
='2'!L2 pour l'élève 2,... mais très fastidieux quand on a plus d'une
centaine de feuilles (et que je refais la manip dans plusieurs classeurs!!!)
Voici ma macro récapitulative, peut-être peut-on l'améliorer ? Ou peut-être
existe-t-il une fonction d'excel qui puisse simplifier le travail ?
Merci énormément pour votre aide
A bientôt
Brigitte
Sub Hyperlink2()
Set newfeuille = ActiveWorkbook.Sheets.Add(Type:=xlWorksheet)
For I = 1 To Sheets.Count
newfeuille.Cells(I, 1).Value = Sheets(I).Name
newfeuille.Cells(I, 2).Value = Sheets(I).[L2]
With Worksheets(newfeuille.Name)
ActiveSheet.Hyperlinks.Add Anchor:=.Cells(I, 1), Address:="", SubAddress:= _
Chr(39) & Sheets(I).Name & Chr(39) & "!A1"
End With
Next I
End Sub








Avatar
Brigitte
Merci beaucoup,
Effectivement ça marche !
Bonne soirée
Brigitte

"PMO" wrote:

Bonjour,

Une piste avec votre code modifié ci-dessous

'***************
Sub Hyperlink2()
Set newfeuille = ActiveWorkbook.Sheets.Add(before:=Sheets(1))
For I = 2 To Sheets.Count
With newfeuille
.Cells(I - 1, 1).Value = Sheets(I).Name
.Cells(I - 1, 2).Formula = "=" & Sheets(I).Name & "!L2"
.Hyperlinks.Add Anchor:=.Cells(I - 1, 1), _
Address:="", _
SubAddress:=Chr(39) & Sheets(I).Name & Chr(39) & "!A1"
End With
Next I
End Sub
'***************

Cordialement.

PMO
Patrick Morange