Selection d'une plage pour un graf

R

Raphael

Guest
Re-bonjour à tous,


Désolé de vous embêter à nouveau mais j'ai épuisé toutes mes ressources imaginatives qd à mon problème (Cf."Selection avec Offset"). Et ce, bien-sûr, sans aboutir à rien... (et en plus, je ne peux rien ziP car mon fichier est trop volumineux même réduit au max).

Je vais essayer de reformuler ce problème de façon plus claire :

Sur un UserForm, l'utilisateur de l'application choisit une année et un trimestre. Ces données sont ensuite reportées sur Sheets("Macros") de la manière suivante année = E2, trimestre = F2.

Surune autre feuille, Sheets("Stats2"), j'ai 5 colonnes :

A : Dates (1997,1997,1997,1997,1998,1998,1998,1998...)
B : Trimestres (trim1, trim2, trim3, trim4, trim1, trim2, trim3, trim4...)
C : Nouvelles demandes
D: Nbr Familles
E: Nbr Familles mono
F: Nbr Adultes

J'aimerais créer un graf représentant les données des colonnes C:F relatives à la période choisie par l'utilisateur(année + trimestre), ainsi que les données relatives aux trois trimestres précédant la période choisie.

Ex : si 2003 trim3 est choisi, je voudrais représenter les données relatives à :
A : 2002, B: trim4
A: 2003, B: trim 1
A : 2003, B: trim 2
A : 2003, B : trim 3

J'ai essayé des procédures diverses mais rien n'a marché (je commence à désespérer car il faut absolument que j'avance dans mon travail).

Merci en tous cas d'avoir lu ces lignes jusqu'au bout.

Bon courage à tous
 
V

Valérie

Guest
Salut Raphael, et le forum

je te propose la solution suivante :
à l'aide de la variable lig j'ai recherché la ligne concernant l'année et le trimestre des cellules E2 et F2
Ensuite Union me permet de sélectionner de la colonne A à C puis F sans problème et sans oublier les titres si besoin, je te laisse l'adapter à ton besoin

Dim lig As Integer
lig = 4 + (Range("E2") - 1997) * 4 + Right(Range("F2"), 1)
Union(Range("A4:C4"), Range("F4"), Range("A" & lig - 3 & ":C" & lig), Range("F" & lig - 3 & ":F" & lig)).Select

@ plus tard
Valérie
 
R

Raphael

Guest
Salut Valérie,

Je tiens à te remercier pour ton aide et ton ingénieuse solution. J'ai utilisé ton code en le modifiant qque peu :

Sub Graf1()

Dim lig As Integer
Sheets("Macros").Select
lig = 1 + (Range("E3") - 1997) * 4 + Left(Range("F2"), 1)
Sheets("Stats2").Select
Union(Range("C1:F1"), Range("G1"), Range("C" & lig - 3 & ":G" & lig)).Select

Charts.Add
With ActiveChart
.ChartType = xlLine
.SetSourceData Source:= ...
.Location Where:=xlLocationAsObject, Name:="Bulletin Baromètre"
End With
End Sub

J'arrive ainsi à selctionner les valeurs qui m'intéressent. Avant de définir les paramètres du graf, subsiste un couac : définir la source du graf (SetSourceDate:=...).

Aurais tu une idée de ce qu'il faut écrire ? (selection n'est pas une propriété valide).

Merci encore pour ton aide


Cordialement, Raph
 

Discussions similaires

G
Réponses
4
Affichages
7 K
Celeda
C
R
Réponses
3
Affichages
4 K
Raphael
R

Statistiques des forums

Discussions
313 908
Messages
2 103 474
Membres
108 677
dernier inscrit
T.Munz