Macro pour retenir un prix selon la tranche Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
a
abd2010
Membre habitué
Membre habitué
Messages : 62
Inscrit le : 16 novembre 2019

Message par abd2010 » 28 janvier 2020, 11:26

Bonjour,

Je reviens vers vous pour le fichier. En fait si je déplace (concatène) une autre feuille vers la feuille ou il y'a les macros, et en mettant des formules recherche V dans la colonne "Besoin Exprimé" je constate que la colonne prix du macro n'amène pas le prix de la tranche (est ce que le fait de déplacer une feuille vers une autre qui contient des macros, désactive la macro).

Merci
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'008
Appréciations reçues : 884
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 28 janvier 2020, 11:36

Peux-tu illustrer cela dans un extrait du fichier excel ?

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
a
abd2010
Membre habitué
Membre habitué
Messages : 62
Inscrit le : 16 novembre 2019

Message par abd2010 » 28 janvier 2020, 13:00

Par exemple sur ce fichier, avec la formule que j'ai mis dans la colonne C (Besoin exprimé) de la feuille 1, en changeant de valeur dans la feuille 2, colonne B(Qte), on constate que la colonne E(Prix) de la feuille 1 ne s'active pas.

Merci
Essai.xlsm
(22.2 Kio) Téléchargé 4 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'008
Appréciations reçues : 884
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 28 janvier 2020, 16:56

Dans la dernière version ici viewtopic.php?p=829655#p829655 il y avait cette macro ...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, cel As Range
    Set plage = Intersect(Target, Columns("C"))
    If plage Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each cel In plage
        If cel.Value <> "" And cel.Row > 1 And cel.Value < Range("I" & cel.Row).Value Then cel.Value = Range("I" & cel.Row).Value
    Next
    Application.EnableEvents = True
End Sub

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
a
abd2010
Membre habitué
Membre habitué
Messages : 62
Inscrit le : 16 novembre 2019

Message par abd2010 » 28 janvier 2020, 19:15

Désolé je m'étais trompé de fichier.

Comment je fait si je veux faire une rechercheV pour ramener les quantités 30 et 40 de la feuille 2 (colonne B) vers la feuille 1 en colonne Besoin exprimé (colonne C) : genre une rechercheV suivant l'article (numéro commun de part et d'autres)

Merci
Essai_nouv.xlsm
(24.75 Kio) Téléchargé 2 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'008
Appréciations reçues : 884
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 janvier 2020, 02:06

Si je veux tenir compte que le besoin exprimé ne puisse pas être plus faible que la tranche 1 comme demandé ici : viewtopic.php?p=829422#p829422 , il faut qu'en plus de la recherchev je regarde la valeur de la tranche 1.

Et du coup, puisque le besoin exprimé n'est plus saisi dans cette page, on peut en effet enlever cette macro.
=SIERREUR(MAX([@[Tranche 1]];RECHERCHEV([@Article1];Tableau13;2;FAUX));0)
Essai_nouv.xlsm
(22.86 Kio) Téléchargé 4 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
a
abd2010
Membre habitué
Membre habitué
Messages : 62
Inscrit le : 16 novembre 2019

Message par abd2010 » 29 janvier 2020, 02:53

Super!

mais j'ai remarqué qu'une fois le fichier ouvert les macros sont activés et tout marche bien mais dès qu'on change les valeurs de la première et sixième ligne (en jaune) de la feuille 2, la recherchev marche bien mais que les valeurs prix (colonne D), Besoin optimisé (colonne F) et prix optimisé (colonne G) reste à zéro (ne s'actualise pas) sur la feuille 1 et je sais pas pourquoi.

Merci beaucoup de votre disponibilité et aide
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'008
Appréciations reçues : 884
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 janvier 2020, 05:38

abd2010 a écrit :
29 janvier 2020, 02:53
la recherchev marche bien mais que les valeurs prix (colonne D), Besoin optimisé (colonne F) et prix optimisé (colonne G) reste à zéro (ne s'actualise pas) sur la feuille 1
la macro de la feuille 1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, cel As Range
    Set plage = Intersect(Target, Columns("C"))
    If plage Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each cel In plage
        If cel.Value <> "" And cel.Row > 1 And cel.Value < Range("I" & cel.Row).Value Then cel.Value = Range("I" & cel.Row).Value
    Next
    Application.EnableEvents = True
End Sub
tient compte des modifications manuelles de la colonne C, pas d'un résultat de calcul par RECHERCHEV.

Comme la colonne C est maintenant obtenue par calcul, j'ai intégré le résultat de cette macro dans la formule ... à savoir que le besoin exprimé ne peut être inférieur à la Tranche 1

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
a
abd2010
Membre habitué
Membre habitué
Messages : 62
Inscrit le : 16 novembre 2019

Message par abd2010 » 29 janvier 2020, 06:10

Je viens d'intégrer la macro sur la feuille 1 mais je constate toujours que :
les valeurs prix (colonne D), Besoin optimisé (colonne F) et prix optimisé (colonne G) reste à zéro sur la feuille 1 si on change les valeurs de la feuille 2 (en jaune): les fonctions PRIX et OPTIMUM réponde qu'à l'ouverture du fichier, une fois ouvert ça ne répond plus après changement des valeurs de la feuille 2.

Je sais pas comment m'y prendre. Merci
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'008
Appréciations reçues : 884
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 29 janvier 2020, 09:38

J'ai ajouté ceci
Private Sub Worksheet_Activate()
    Application.CalculateFull
End Sub
Essai_nouv.xlsm
(24.1 Kio) Téléchargé 4 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message