Application d'une bible de prix selon plusieurs critères

Bonjour à tous,

J'aimerais avoir vos avis sur les possibilités d'application d'une bible de prix selon plusieurs critères.

J'ai mis en piece jointe un exemple.

J'ai un onglet bible qui regroupe l'ensemble des prix unitaire en fonction d'une année et d'une gamme de produit.

Ma question est comment faire une formule qui permette ca, sachant que je peux avoir plusieurs onglets qui font appellent à cette bible avec des critères différents selon la gamme et l'année.

Merci d'avance

22classeur3.xlsx (40.43 Ko)

Bonjour à tous,

Une proposition :

23classeur3.xlsx (42.13 Ko)

Crdlmt

Une "Bible" de prix ! Manquait plus que ça ! Vade retro Satanas.

On a déclenché des guerres de religion pour moins que ça !

slip

Bonjour à tous,

une autre sans Sommeprod(), en D4 :
=INDEX(Bible!$A$1:$AE$71;EQUIV(C4;Bible!C:C;0);COLONNE(DECALER(Bible!$A$2;;EQUIV($C$1;Bible!$1:$1;0)+EQUIV($C$2;Bible!$D$2:$G$2;0)-2;;)))

eric

9classeur3.xlsx (42.63 Ko)

Merci beaucoup à vous 2.

Quelle différence entre les 2 solutions? avantages/inconvénients?

Bonsoir

Et pour faire bonne mesure. Une solution facilement adaptable en VBA.

La macro se déclenche sur un changement dans C1 ou C2

16classeur3-v2.xlsm (54.61 Ko)

Sommeprod() est plus gourmand en ressources.
Si tu as des milliers de lignes, ça peut jouer. Sinon c'est du pareil au même.

Penser à indiquer la volumétrie, les solutions ne sont pas les mêmes si tu veux un minimum de performance.
eric

Merci à tous,

Concernant la version en VBA qui m'intéresse beaucoup, est il possible de m'expliquer le code pas à pas? car je ne pige pas tout.

Merci d'avance,

Avec plaisir, voici le fichier avec le code commenté pas à pas. Tu as sans doute remarqué que j'ai un peu modifié la feuille "Bible". J'ai transformé la plage en tableau structuré ce qui apporte de nombreux avantages pour l'opération en cours bien sûr mais aussi pour la suite. J'ai nommé les colonnes en concaténant les deux cellules du dessus. Ca permet d'avoir des noms de colonnes uniques qui corresponde justement à ce que l'on va chercher.

18classeur3-v2.xlsx (45.36 Ko)

Merci pour ton aide.

Oui j'ai vu que tu avais modifié le tableau bible.

Par contre le fichier joint avec l'explication est vide de code VBA, il n'y a rien.

Désolé de t'embêter encore une fois.

Merci

Oups! effectivement erreur de fichier, ce n'était qu'un intermédiaire. Voici le bon

13classeur3-v2.xlsm (56.05 Ko)

Encore un immense merci.

J'ai essayé d'appliquer ton code d'une autre manière mais ca ne fonctionne plus...

Je te remets mon nouveau fichier. Je l'ai un peu modifié avec une feuille de saisie pour plusieurs bâtiments. Ensuite j'ai créé autant de d'onglet que de bâtiment (d'ailleurs j'aimerai trouver un moyen dans la feuille de saisie de mettre le nombre de bâtiment que j'ai et que cela duplique la feuille initiale automatiquement...).

Dans les onglets batiment, on retrouve l'année et la gamme saisie dans l'onglet saisie.

L'idée est que cela applique l'année et la gamme de chaque batiment en fonction de la saisie.

Si je ne suis pas clair n'hesite pas.

Merci d'avance

Bonjour

Voilà une manière de faire

15classeur3-v2-2.xlsm (64.09 Ko)

Bonjour !!

C'est super !

Une derniere question, tel qu'est fait le code VBA, il faut qu'une action se passe dans l'onglet du batiment en question; par exemple il faut que la bible ou la gamme soit changer dans l'onglet du bâtiment.

Est il possible que cette action fasse référence à des cellules d'un autre onglet ?

If Not Application.Intersect(Target, Range("X4:X2")) Is Nothing And Target.Count = 1 Then 'Si oui
    Application.EnableEvents = False ' On suspend la detection des évènements pour ne pas déclencher la macro inutilement
    Dim sh As Worksheet
    Set sh = ActiveSheet
    Dim cherche As String ' On déclare une variable chaine de caractères
    With sh ' On indique avec quelle feuille on travaile
      cherche = .Range("X4").Value & " " & .Range("X2").Value ' On affecte à la variable la concaténation des deux cellules de sélection
    End With
    If Range("X4") <> "" And Range("X2") <> "" Then ' On verifie que la selection est valide

En gros les cellules X4 et X2 sont modifiées dans un autre onlget.

Merci encore de ton aide.

Bonjour

La version sophistiquée

12classeur3-v2-3.xlsm (94.85 Ko)

Merci beaucoup je t'ai envoyé un mp

Rechercher des sujets similaires à "application bible prix criteres"