Report d'une cellule en valeur dynamique selon un critère

Bonjour le forum,

Je cherche à reporter la valeur d'une cellule dans une autre cellule selon un critère.

Dans mon exemple :

Je voudrais que la valeur en cellule G64 se reporte en C106 en se basant sur la cellule C13 : le numéro de semaine.

Je voudrais que ce report soit dynamique car cette donnée alimente le graphique. (ou rafraîchissement de page)

Je reste a disposition.

Merci d'avance.

ety

59base-forum.xlsm (57.18 Ko)

Bonjour,

en tapant dans C106 la formule

=SI($C$13=B106;$G$64;"") et en recopiant vers le bas pour les semaines futures

ou mieux pour ne prendre que les milliers

=SI($C$13=B106;$G$64/1000;"")

Bonjour et merci M12,

Mais quand le numéro de semaine change, la valeur de la semaine précédente disparaît.

C'est pour cela que je voudrais que ce montant soit mis en valeur pour avoir l'historique et un graphique actualisé.

Si quelqu'un a une autre idée.

Merci de votre aide.

ety.

Bonjour,

Je ne pense pas qu'il soit possible de le faire sans VBA .

Car il ne s'agirait de faire un Copier/Coller les valeurs pour garder le résultat

Voir avec cette version et un petit bout de code VBA

35base-forum.xlsm (52.43 Ko)

Et aussi remplacer

Cellule.Offset(0, 1) = Range("g64").Value

Par

Cellule.Offset(0, 1) = Left(Range("g64"), Len(Range("g64")) - 3)

Pour le chiffre des milliers non arrondi (Module1)

Re,

Ou alors en automatique, à chaque changement de valeur de la cellule C13

54base-forum2.xlsm (51.96 Ko)

merci M12,

Je préfère la deuxième solution en automatique, mais je voudrais qu'a chaque changement de valeur de la cellule G64, la copie s'actualise. au lieu de la cellule C13.

merci car c'est déjà un grand pas pour moi.

ety

Re,

Voilà avec la modif

48base-forum2.xlsm (50.86 Ko)

re M12,

J'ai mis cette modification mais rien ne se passe. La cellule G64 est une formule est ce cela qui pose probleme ?(G64=G6+G38+G49+G62)

Merci

ety


en fait, il faut que si modification de la cellule C13 ou G64 ou les deux , la macro reporte la valeur de la cellule G64.

Je pense qu'il faut voir le probleme ainsi... Non ?

Ety

Re,

Sur votre premier fichier de départ, la cellule G64 ne comporte pas de formule, alors je ne peut savoir d'où il vient,

Maintenant, il y a une formule, et si j'insiste, il y en a peut être une aussi pour le No de semaine,

A savoir pour 2017 comment vous allez reformer votre base année,

Bref faut bien expliquer au départ, mettre un bon fichier et c'est plus simple

désolé M12,

le problème est que le fichier d'origine est tellement lourd que j'ai voulu le simplifie et mettre un seul onglet. ( au lieu de plus de 50 avec d'autres macros et d'autres formules.)

Les deux cellules qui nous intéressent ont effectivement une formule C13 et G64.

Merci et encore désolé pour cet oublie.

ety

14base-forum.xlsm (57.78 Ko)

Re,

Bon remlace le code dans la feuille 020 par celui là

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("a3:i64")) Is Nothing Then

For Each Cellule In Range("b101:b154") 'Plage de recherche

If Cellule.Value = Range("c13").Value Then

Cellule.Offset(0, 1) = Left(Range("g64"), Len(Range("g64")) - 5)

End If

Next

End If

End Sub


Re,

A voir

36base-forum2.xlsm (51.26 Ko)

Merciiiii M12,

c'est exactement ça. Juste un petit détail, est il possible de mettre la valeur copier avec la virgule au lieu que se soit couper au millier.

ex : 226 a l'affichage mais dans la cellule 226.517 au lieu de 226.

ety

Re,

Dans la feuille 020

remplace

Cellule.Offset(0, 1) = Left(Range("g64"), Len(Range("g64")) - 5)

par

Cellule.Offset(0, 1) = Range("g64")

et tu auras le même format qu'en G64

Bonjour et Merci M12,

Merci aussi pour le temps que tu m'as consacré.

ety

Rechercher des sujets similaires à "report valeur dynamique critere"