Celulle unique à plusieurs onglets

rododuc

XLDnaute Nouveau
Bonjour,

J'espère être clair dans ma description...
J'ai quatre onglets.
Le premier est un tableau de données.
Les trois autres sont des graphiques dynamiques sur des plages définies.

Dans chaque onglet de graphique j'ai le choix de choisir mes graphiques sur X dernières semaines.
Grossomodo mes plages définis ont une formule similaire à celle-ci :

=DECALER('2010'!$G$74;;NBVAL('2010'!$G$74:$BO$74)-(CODIR!$D$7);;CODIR!$D$7)

Ma cellule X dernières semaines est dans l'onglet CODIR en D7.

J'aimerais pouvoir placer une cellule commune à mes trois onglets et modifiable dans les trois onglets, avec répercution (du coup) dans les trois onglets.
En clair je veux choisir 10 dernières semaines dans l'onglet 3, ou 4, ou 2 et que mon choix se répercutent sur mes trois onglets...

Auriez-vous une idée ???

Thx a lot.
 

mromain

XLDnaute Barbatruc
Re : Celulle unique à plusieurs onglets

Bonjour rododuc,

Je pense que tu seras obligé de passer par une macro. Est-ce que ça te dérange ?
Sinon, il serait aussi envisageable d'avoir une autre feuille "Paramètres" où tu préciserais dans une seule cellule sur combien de semaines tes graphiques doivent afficher des données.

a+
 

mromain

XLDnaute Barbatruc
Re : Celulle unique à plusieurs onglets

re bonjour,

voici un essai avec cette macro à coller sur chacun des "onglets-graphiques" (clic droit sur l'onglet --> visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tabSheet() As String, listeFeuillesGraphique As Variant, adresseCelluleChoixNbSemaines As String, curSheet As Worksheet, mem As Long

    listeFeuillesGraphique = Array("FeuilGraph1", "FeuilGraph2", "FeuilGraph3")
    adresseCelluleChoixNbSemaines = "D7"
    
    'si la cellule qui vient d'être modifiée est D7 (adresseCelluleChoixNbSemaines)
    If Not Application.Intersect(Target(1, 1), Range(adresseCelluleChoixNbSemaines)) Is Nothing Then
        mem = Application.EnableEvents: Application.EnableEvents = False
        For Each curSheet In ThisWorkbook.Sheets(listeFeuillesGraphique)
            curSheet.Range(adresseCelluleChoixNbSemaines).Value = Range(adresseCelluleChoixNbSemaines).Value
        Next curSheet
        Application.EnableEvents = mem
    End If
End Sub

a+
 

rododuc

XLDnaute Nouveau
Re : Celulle unique à plusieurs onglets

re bonjour,

voici un essai avec cette macro à coller sur chacun des "onglets-graphiques" (clic droit sur l'onglet --> visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tabSheet() As String, listeFeuillesGraphique As Variant, adresseCelluleChoixNbSemaines As String, curSheet As Worksheet, mem As Long

    listeFeuillesGraphique = Array("FeuilGraph1", "FeuilGraph2", "FeuilGraph3")
    adresseCelluleChoixNbSemaines = "D7"
    
    'si la cellule qui vient d'être modifiée est D7 (adresseCelluleChoixNbSemaines)
    If Not Application.Intersect(Target(1, 1), Range(adresseCelluleChoixNbSemaines)) Is Nothing Then
        mem = Application.EnableEvents: Application.EnableEvents = False
        For Each curSheet In ThisWorkbook.Sheets(listeFeuillesGraphique)
            curSheet.Range(adresseCelluleChoixNbSemaines).Value = Range(adresseCelluleChoixNbSemaines).Value
        Next curSheet
        Application.EnableEvents = mem
    End If
End Sub

a+

Salut,

Comme indiqué plus haut les macros et moi çà fait trois.
J'arrive bien à les positionner dans chaque onglet.
Par contre je ne peux pas enregistrer Excel me dit impossible d'enregistrer sans porjet VB... etc

Une idée ?


thx
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 201
Membres
103 762
dernier inscrit
rouazali