Données source faisant référence à une cellule pour le chemin

nat54

XLDnaute Accro
Bonjour,

Pas simple de trouver un titre explicite ..

Mon problème :
- 1 fichier TdB_chiffres, des onglets extractions puis 1 onglet par pôle soit 31 onglets pour les pôles
- 1 fichier TdB_graphes où je veux obtenir un onglet par pôle
Chaque pôle est présenté par 16 graphes !
J'ai fait le travail une fois pour un pôle
Résultat satisfaisant

or si l'on compte il me reste 16*30 soit 480 graphes :eek::eek:

J'ai pensé à une chose : peut-on dans données source du graphique faire référence à une cellule de l'onglet en question

exemple
je suis dans le fichier TdB_graphique sur l'onglet concernant le pôle A
données source va dans fichier TdB_chiffres onglet pôle A comme suit
='I:\....\[TdB_chiffres]Pôle_A'!a1:a2

mon idée serait de mettre dans une cellule du fichier tdb_graphes
(une cellule par onglet) le chemin présenté ci-dessus

ainsi j'aurais seulement une cellule par onglet à modifier !!

est-ce faisable ?

Merci !

Nat
 

pierrejean

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

bonjour nat54

Avec fichier(s) exemple il serait plus facile de t'aider !!
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

faut que je prépare ça alors car là données confidentielles !
 

Pierrot93

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Bonjour Nat, PierreJean

petite idée au passage, pourquoi ne pas utiliser des plages nommées !!! barre de menu => insertion => nom => Définir, et y faire référence ensuite pour identifier la source...

bon après midi
@+
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

Bonjour Pierrot93,

pourrais-tu expliciter ton idée de plages nommées (je connais le principe mais je ne vois pas comment il peut m'aider dans mon cas...) ??

ci-joint les fichiers en espérant que ça éclaire pierrejean
(les fichiers sont ultra-simplifiés !!)
 

Fichiers joints

Pierrot93

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Re

oui, fianalement pas tout compris moi... tiens pas compte de mon post, désolé...

@+
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

ok, dommage ...

d'autres amateurs ?
(sans vba please)
 

pierrejean

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Re

Salut Pierrot (j'aurais jamais cru voir ça : Pierrot qui n'a pas saisi !!)
Désolé Nat mais moi je ne connais que le Vba
teste ceci ( le fichier tdb chiffres... doit etre ouvert)

Edit : Il va sans dire qu'une fois les graphes construits on peut supprimer la feuille et le module !!!
 

Fichiers joints

Dernière édition:

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

Merci, je viens de tester

erreur d'éxécution 1004
impossible de définir la propriété XValues de la classe Series

??

pourtant ça a l'air de marcher mais je n'aime pas ce genre "d'alerte"...


Pierrot, tu me déçois LOL
 
Dernière édition:

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

ps : je ne comprends pas le fonctionnement de la macro

>> où dit-on à notre cher excel :D qu'il doit chercher en A1 ??

>> comment savoir le n° shapes(1) du graphique ? là il n'y en avait qu'un mais je vais devoir faire ça pour 16 !

on pourra faire une boucle ?!
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

Je 'up' car c'est plutôt urgent....
 

pierrejean

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Re
1) Erreur d'execution probablement parceque le fichier associé n'est pas ouvert
2) L'execution part de la sub suivante ou A1 dans ce cas est la .Value de la selection

Code:
Private Sub CommandButton1_Click()
 Call test(Selection.Value)
End Sub
3) oui il est bien sur possible de faire une boucle gene

Code:
for n=2 to range("A65536").end(xlup).row
  call test(range("A" & n))
next n
en ayant inscrit tous les 'poles' dans la colonne A a partir de la ligne 2

4)dans le code
Code:
Sub test(pole As String)
Sheets.Add.Name = "graphs_pole_" & pole
ActiveSheet.Range("C4").Select
Sheets("graphs_pole_A").Shapes(1).Copy
ActiveSheet.Paste
 ActiveChart.SeriesCollection(1).XValues = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C3:R12C3"
    ActiveChart.SeriesCollection(1).Values = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C4:R12C4"
    ActiveChart.SeriesCollection(2).XValues = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C3:R12C3"
    ActiveChart.SeriesCollection(2).Values = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C5:R12C5"
 Sheets("graphs_pole_A").Cells.Copy
 Sheets("graphs_pole_" & pole).Cells.Select
 Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
 ActiveWindow.Zoom = 80
 ActiveWindow.DisplayGridlines = False
 Application.CutCopyMode = False
End Sub
"=[TdB_chiffres_factices.xls] ...
doit etre adapté au fichier réél
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

Re
1) Erreur d'execution probablement parceque le fichier associé n'est pas ouvert
exact

2) L'execution part de la sub suivante ou A1 dans ce cas est la .Value de la selection

Code:
Private Sub CommandButton1_Click()
 Call test(Selection.Value)
End Sub
mouais pas tout compris


3) oui il est bien sur possible de faire une boucle gene

Code:
for n=2 to range("A65536").end(xlup).row
  call test(range("A" & n))
next n
en ayant inscrit tous les 'poles' dans la colonne A a partir de la ligne 2
je pensais plutôt à une boucle pour mes 16 graphes
car là comment faire pour copier-coller les 16 ?
le N° de shapes(x) va de 1 à 16 ?

4)dans le code
Code:
Sub test(pole As String)
Sheets.Add.Name = "graphs_pole_" & pole
ActiveSheet.Range("C4").Select
Sheets("graphs_pole_A").Shapes(1).Copy
ActiveSheet.Paste
 ActiveChart.SeriesCollection(1).XValues = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C3:R12C3"
    ActiveChart.SeriesCollection(1).Values = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C4:R12C4"
    ActiveChart.SeriesCollection(2).XValues = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C3:R12C3"
    ActiveChart.SeriesCollection(2).Values = _
        "=[TdB_chiffres_factices.xls]pole_" & pole & "!R5C5:R12C5"
 Sheets("graphs_pole_A").Cells.Copy
 Sheets("graphs_pole_" & pole).Cells.Select
 Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
 ActiveWindow.Zoom = 80
 ActiveWindow.DisplayGridlines = False
 Application.CutCopyMode = False
End Sub
"=[TdB_chiffres_factices.xls] ...
doit etre adapté au fichier réél
ça j'avais compris LOL :D
 

pierrejean

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Re

Je suis parti du principe que tous tes graphes ressemblaient au graphe pole A avec comme seule differenciation le nom de la feuille sosie de tdb_chiffres_factices.xls (qu'il y en 16 ou moins ou plus)
La macro copie donc systematiquement le graphe réalisé manuellement dans le fichier Tdb_graphes.xls feuille graphs_poleA puis modifie les series pour aller chercher dans le sosie de tdb_chiffres_factices.xls feuille pole_X
Compte tenu des 2 fichiers fournis ,je n'ai pas pu imaginer autre chose !!
Mais je suis a ta disposition pour modifier si necessaire
Quant a la boucle ,elle recupere successivement les noms des poles dans la colonne A de la feuille17 pour les transmettre en parametre a la macro test
en conclusion : Si tu as un fichier tdbchiffres avec n feuilles intitulées Pole_X similaires a la feuille pole_A il te faut reporter les noms des poles dans la colonneA de la feuil17 puis dans le module de la feuille 17 remplacer
Code:
Private Sub CommandButton1_Click()
 Call test(Selection.Value)
end sub
par

Code:
Private Sub CommandButton1_Click()
for n=2 to range("A65536").end(xlup).row
  call test(range("A" & n))
next n
End Sub
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

J'avais peut-être trop simplifier les fichiers-exemples :confused:

Les vrais fichiers :
- tdb_chiffres : 31 onglets (un par pôle, tous construits de la même manière)
- tdb_graphes : obtenir un onglet par pôle comprenant chacun 16 graphes
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

mais sinon ma 1ère méthode ne fonctionnerait-elle pas ?

car là va falloir (ok une seule fois) faire le code pour les 16 graphes avec les styles de référence que je déteste R..C..
 

pierrejean

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Re

Ah oui alors !!

Peux-tu envoyer un exemple avec 16 graphes ? (il s'agit de savoir ou sont situés les graphs d'une part et les données d'autre part)
Je signale que mon reseau telepathie a grand debit est en panne , ma boule de cristal embuée et que pour rester aussi zen que possible j'ai arreté le café (donc plus de marc)

Edit: reponse au post de 17h31
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

mea culpa si ce n'était pas clair
j'essaie de préparer cela mais là je fatigue...
 

nat54

XLDnaute Accro
Re : Données source faisant référence à une cellule pour le chemin

voili voilou




quand ce sera ok faudra juste que je voies comment limiter dans la table de données à 1 virgule
mais bon step by step

merci d'avance !!!
 

Fichiers joints

pierrejean

XLDnaute Barbatruc
Re : Données source faisant référence à une cellule pour le chemin

Re

Question :
Ton fichier Tdb_graphes comporte 20 graphes dont bon nombre de données sont issues d'un fichier Tdb_RH
Ces données sont elles a reprendre a l'identique ou doivent elles egalement etre actualisées ?
Si oui peut-on avoir ledit fichier (en version anonyme bien sur)
 

Discussions similaires


Haut Bas