Merci beaucoup pour votre retour. Effectivement les colonnes ne changeront pas et seront toujours les mêmes. Par contre, il peut y avoir des lignes supplémentaires dans un des 9 onglets voire dans les 9.
Raison pour laquelle, j’aimerais que l’onglet « groupe » puisse s’adapter aux changements (rajout de lignes) dans les 9 onglets.
Je reviens quand même sur ce fil pour apporter une solution VBA.
Pour qu'une modification d'un des 10 onglets soit répercutée sur les 9 autres il faut que :
- les 10 feuilles soient de même structure, j'ai donc ajouté 4 lignes aux feuilles CHA à TBC pour que les tableaux commencent en ligne 5
- les 10 feuilles soient groupées par une sélection multiple.
Voyez donc le fichier joint et ces macros dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
Workbook_SheetActivate ActiveSheet 'lance la macro
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim exclu, w As Worksheet
exclu = Array("Explications", "Placements") 'liste modifiable
Sh.Select 'une seule feuille sélectionnée
If IsNumeric(Application.Match(Sh.Name, exclu, 0)) Then Exit Sub
Application.ScreenUpdating = False
For Each w In Worksheets
If IsError(Application.Match(w.Name, exclu, 0)) Then w.Tab.ColorIndex = xlNone: w.Select False 'sélection multiple
Next
Sh.Tab.ColorIndex = 3 'colore l'onglet actif en rouge
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> ActiveSheet.Name Or Target.Column < 3 Then Exit Sub
Dim memo
memo = Target.Formula
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
On Error Resume Next
Application.Undo 'annule la modification des feuilles
Sh.Select 'une seule feuille sélectionnée
Target.Formula = memo 'modification de la feuille active
Application.EnableEvents = True 'réactive les évènements
Workbook_SheetActivate Sh 'lance la macro
End Sub
Testez en ajoutant ou supprimant des lignes dans les tableaux.
Ce n'est pas facile à comprendre c'est pourquoi j'ai proposé au post #4 de procéder manuellement.
Je reviens quand même sur ce fil pour apporter une solution VBA.
Pour qu'une modification d'un des 10 onglets soit répercutée sur les 9 autres il faut que :
- les 10 feuilles soient de même structure, j'ai donc ajouté 4 lignes aux feuilles CHA à TBC pour que les tableaux commencent en ligne 5
- les 10 feuilles soient groupées par une sélection multiple.
Voyez donc le fichier joint et ces macros dans ThisWorkbook :
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Workbook_SheetSelectionChange Sh, ActiveCell 'lance la macro
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim exclu, w As Worksheet
exclu = Array("Explications", "Placements") 'liste modifiable
Sh.Select 'une seule feuille sélectionnée
If IsNumeric(Application.Match(Sh.Name, exclu, 0)) Then Exit Sub
Application.ScreenUpdating = False
For Each w In Worksheets
If IsError(Application.Match(w.Name, exclu, 0)) Then w.Tab.ColorIndex = xlNone: w.Select False 'sélection multiple
Next
Sh.Tab.ColorIndex = 3 'colore l'onglet actif en rouge
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> ActiveSheet.Name Or Target.Column < 3 Then Exit Sub
Dim memo
memo = Target.Formula
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
Application.Undo 'annule la modification des feuilles
Sh.Select 'une seule feuille sélectionnée
Target.Formula = memo 'modification de la feuille active
Application.EnableEvents = True 'réactive les évènements
Workbook_SheetSelectionChange Sh, ActiveCell 'lance la macro
End Sub
Testez en ajoutant ou supprimant des lignes dans les tableaux.
Ce n'est pas facile à comprendre c'est pourquoi j'ai proposé au post #4 de procéder manuellement.
Toutes mes excuses pour ce manque de réactivité. Je teste tout ça et vous fais un retour
Encore merci beaucoup d’avoir pris le temps pour m’apporter votre aide
Joli travail et un grand merci. j'ai testé et effectivement, en insérant des lignes dans n'importe quel onglet, cela se répercute sur le reste. C'est TOP.
Je voudrais savoir si c'est possible:
- en modifiant la cellule C5, que les cellules D5 à L5 suivent la chronologie?
- d'avoir les montants en KE automatiquement quand je copie mes extractions dans les onglets CHA à TBC.
J'ai voulu insérer des graphes mais il me semblerait que la macro m'empêche de sélectionner une seule cellule.
En somme, je souhaiterais afficher dans le graphe:
- en abscisse les semaines
- en ordonnées les Ke
- les graphes représentent les 10 onglets (Groupe à TBC) avec l'évolution de la tréso par semaine
En pj le fichier sur lequel j'ai commencé à travailler
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim exclu, memo
exclu = Array("Explications", "Placements", "Feuil1") 'liste modifiable
If IsNumeric(Application.Match(Sh.Name, exclu, 0)) Then Exit Sub
If Sh.Name <> ActiveSheet.Name Or Target.Column < 3 Then Exit Sub
memo = Target.Formula
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
On Error Resume Next
Application.Undo 'annule la modification des feuilles
Sh.Select 'une seule feuille sélectionnée
Target.Formula = memo 'modification de la feuille active
Application.EnableEvents = True 'réactive les évènements
Workbook_SheetActivate Sh 'lance la macro
End Sub
Je n'ai pas réussi à créer mon graphe comme je voudrais sur la feuille 1. Les données sont trop dispersées. Donc j'aimerais bien insérer une nouvelle feuille comportant les données du fichier ci-joint qui ne sont rien d'autres que des recherches V des 10 onglets pour aller chercher les soldes finaux.
Ainsi je crée mon graphe comme dans la pj.
Est ce possible?