OVH Cloud OVH Cloud

Largeur colomne variable dans histogramme (suite)

4 réponses
Avatar
Lulu
Bonjour, et spécialement à Garette,
Je comprends la nécessité du tableau intermédiaire qui permet de faire le
graphique.
Est ce qu'il y a un moyen de remplir automatiquement ce tableau .

Merci de vos réponses.

Lulu.

4 réponses

Avatar
Garette
Bonsoir Lulu,

Le tableau intermédiaire est lié au tableau d'origine.
Donc les mises à jours des données sont répercutées dans le tableau
intermediaire et dans le graphique.

Si la question est : "est il possible de générer le tableau intermediaire
automatiquement ?".
On doit pouvoir automatiser tout ou partie de la creation par Macro.
Avatar
Lulu
Bonjour,
Je comprends bien que le tableau intermédiaire est lié au tableau d'origine,
mais comme il y a une vingtaine d'exploitations avec des assolements
différents,
la question était : comment créer le tableau intermédiaire automatiquement ?
sachant que chaque exploitation non pas forcemment les mêmes cultures donc
le tableau d'origine pas forcement le meme nombre de lignes.

Voilà et merci encore
A+ Luc


"Garette" a écrit dans le message de news:

Bonsoir Lulu,

Le tableau intermédiaire est lié au tableau d'origine.
Donc les mises à jours des données sont répercutées dans le tableau
intermediaire et dans le graphique.

Si la question est : "est il possible de générer le tableau intermediaire
automatiquement ?".
On doit pouvoir automatiser tout ou partie de la creation par Macro.




Avatar
Garette
Lulu,

J'avais bien compris la question "comment créer le tableau intermédiaire
automatiquement ?" et j'ai répondu : "par Macro".
J'ai bricolé un petit exemple que je te laisse tester mais pour l'adaptation
je te laisse faire ...

Dans la Macro suivante, Depart = $A$2:$A$4 et Arrivee = $I$12
Sub CreationTableau()
i = 1: j = 1
Range(Arrivee).Offset(1, 0).Value = 0
For Each x In Range(Depart)
Range(Arrivee).Offset(0, i).Formula = "=" & x.Address
Range(Arrivee).Offset(j + 1, 0).Resize(3, 1).Formula = _
"=" & x.Offset(0, 1).Address & "+" & Range(Arrivee).Offset(j, 0).Address
Range(Arrivee).Offset(j, i).Resize(2, 1).Formula = _
"=" & x.Offset(0, 2).Address
i = i + 1
j = j + 3
Next
Range(Arrivee).Offset(j - 1, 0).Resize(2, 1).ClearContents
End Sub

Dans l'exemple joint http://cjoint.com/?cbwW4B48jm , il faut selectionner
les libellés (Blé, Colza, etc ..) et la cellule où on veut que le tableau
arrive (il faut que la zone en dessous et à gauche soit vide)
Ca créé un tableau lié au données du tableau d'origine.
Si on rajoute des cultures, il suffit de les selectionner et de relancer la
macro.
Avatar
Lulu
Bonjour Garette,

ok, j'ai pu qu'à me mettre aux macros !
je vais le tester

Merci encore

A+ Luc



"Garette" a écrit dans le message de news:
%
Lulu,

J'avais bien compris la question "comment créer le tableau intermédiaire
automatiquement ?" et j'ai répondu : "par Macro".
J'ai bricolé un petit exemple que je te laisse tester mais pour
l'adaptation je te laisse faire ...

Dans la Macro suivante, Depart = $A$2:$A$4 et Arrivee = $I$12
Sub CreationTableau()
i = 1: j = 1
Range(Arrivee).Offset(1, 0).Value = 0
For Each x In Range(Depart)
Range(Arrivee).Offset(0, i).Formula = "=" & x.Address
Range(Arrivee).Offset(j + 1, 0).Resize(3, 1).Formula = _
"=" & x.Offset(0, 1).Address & "+" & Range(Arrivee).Offset(j,
0).Address
Range(Arrivee).Offset(j, i).Resize(2, 1).Formula = _
"=" & x.Offset(0, 2).Address
i = i + 1
j = j + 3
Next
Range(Arrivee).Offset(j - 1, 0).Resize(2, 1).ClearContents
End Sub

Dans l'exemple joint http://cjoint.com/?cbwW4B48jm , il faut selectionner
les libellés (Blé, Colza, etc ..) et la cellule où on veut que le tableau
arrive (il faut que la zone en dessous et à gauche soit vide)
Ca créé un tableau lié au données du tableau d'origine.
Si on rajoute des cultures, il suffit de les selectionner et de relancer
la macro.