Microsoft 365 Varier les valeurs d’une colonne en fonction de la Liste déroulante associée

Hakane

XLDnaute Nouveau
Bonjour,
J’ai un fichier excel dans lequel se trouvent 2 feuilles que je souhaiterai lier en créant une liste déroulante.
Dans la 1 feuille se trouvent des données de prix qui changent chaque 15 jours.
Et dans la 2 è je veux créer une colonne recap qui me donnera les valeurs de la colonne souhaitée en fonction d’une liste déroulante correspondant aux variations de prix.
J’ai besoin d’aide svp pour créer ce programme dynamique.
 

Hakane

XLDnaute Nouveau
Voci le fichier dont je parle. La liste déroulante devrait se trouver dans la colonne Prix de vente sur la 1ère feuille. Je n'ai pas encore de valeurs pour certaines colonnes de la feuille 2 mais j'espère que le programme est faisante sans. Merci d'avance
 

Pièces jointes

  • Exemple.xlsx
    25.2 KB · Affichages: 3

Hakane

XLDnaute Nouveau
Bonsoir,
je vous remercie pour votre réponse. Je vous remets un autre fichier plus clair pour vous aider à comprendre.
J'ai 2 problématiques :
_Faire afficher les valeurs des colonnes (Mars, Avril,Mai,Juin) de la feuille 2 dans la colonne PV 2022 de la feuille 1
_ Correspondre ces valeurs à afficher au bon code parce que les articles (représentés dans les colonnes A) ne sont pas listés dans le même ordre surles 2 feuilles.
J'espère que c'est plus clair maintenant et que vous pourriez m'aider là dessus.
 

Pièces jointes

  • Exemple.xlsx
    20.1 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour Hakane, le forum,

Maintenant avec les références en colonne A des 2 feuilles le problème est cohérent.

Voyez le fichier joint avec les listes de validation pour les mois en colonne C.

Nota : en Feuil2 j'ai dû convertir les colonnes D et E qui n'étaient pas numériques...

A+
 

Pièces jointes

  • Exemple(1).xlsx
    22.7 KB · Affichages: 5

Hakane

XLDnaute Nouveau
Bonjour,
Job75 merci pour ton fichier mais ça ne répond pas exactement à ma problématique. Je vous mets une capture de ce que je voudrais obtenir au final.
Sur la feuille 1 dans la colonne C: afficher la liste déroulante, et pouvoir modifier les prix des articles en fonction de cette liste.
J'ai essayé avec la formule =DECALER(Feuil2!$A:$A;0;EQUIV(Feuil1!C1;Feuil2!1:1;0)-1) mais ça ne marche pas.
NB: je suis débutant sur Excel désolé
 

Pièces jointes

  • exple.PNG
    exple.PNG
    58.9 KB · Affichages: 41

job75

XLDnaute Barbatruc
Maintenant si le VBA vous intéresse voyez le fichier joint et cette macro dans le code de Feuil1 :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, Range("C2:C" & Rows.Count), UsedRange)
If Target Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtrée
Columns(4).Insert 'colonne auxilaire
For Each Target In Target.Areas 'si entrées multiples (copier-coller)
    Target.Offset(, 1) = "=IF(ISNUMBER(RC[-1]),RC[-1],IFERROR(VLOOKUP(RC1,OFFSET('Feuil2'!C1,,,,COUNTA('Feuil2'!R1)),MATCH(RC[-1],'Feuil2'!R1,0),0),""""))" 'Feuil2 à adapter
    Target = Target.Offset(, 1).Value2 'supprime la formule
Next Target
Columns(4).Delete 'supprime la colonne auxiliaire
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle s'exécute quand le mois est choisi dans la liste de validation.

Inconvénient : on ne sait plus ensuite quel est le mois qui a été choisi.

Edit : .Value2 au lieu de .Value pour conserver le format Comptabilité.
 

Pièces jointes

  • Exemple VBA(1).xlsm
    30.3 KB · Affichages: 3
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 009
Membres
101 865
dernier inscrit
MLL