Mise a jour liste, validation, fonction indirect

pirlouite

XLDnaute Nouveau
Bonjour à toutes et tous,

j'ai un classeur avec dans la cellule A2 différents produits (tomate, concombre...) que je sélectionne via une liste (validation des données), en cellule B2 je choisit le conditionnement du produit (filet de 1 Kg, panier etc etc) en fonction des conditionnements possibles pour ce produit (validation des données avec fonction indirect), mon problème est que B2 ne se met pas a jour "tout seul" quand je change A2.

Par exemple : Les tomates ne se vendent qu'en filet de 1 ou 5kg et les concombres que en panier de 2 ou 6 Kg

En A2 : Concombre donc en B1 soit panier 2 Kg, soit panier 6 Kg (ca c ok c bien le choix que j'ai), je choisi "panier 2 Kg"
Si je change la cellule A2 pour tomate, j'ai toujours "panier 2Kg" affiché à l'écran et si je ne sélectionne pas qqch d'autre dans B2 je peux commander des tomates en panier...

Question : comment fait-on pour que la cellule B2 (pas la liste en B2, ça c ok) se mette a jour si je change A2.

Un fichier simple d'exemple en pièce jointe (mon fichier de travail est plus complexe).

Merci a tous par avance.
 

Pièces jointes

  • Pirlouite.xlsx
    11 KB · Affichages: 67

natorp

XLDnaute Accro
Re : Mise a jour liste, validation, fonction indirect

bjr pirlouite

réponse fournie par JB sur son site Formation Excel VBA JB

A mettre dans le code de feuille concernée

Pour une RAZ du 2e menu si modification du premier menu.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Range("a2:a2"), Target) Is Nothing And Target.Count = 1 Then
    Application.EnableEvents = False 
    Target.Offset(0, 1) = Empty
   Application.EnableEvents = True
  End If
End Sub

cordialement, Gérard
 

Dranreb

XLDnaute Barbatruc
Re : Mise a jour liste, validation, fonction indirect

Bonjour.
J'ai de la programmation toute faite pour partir plutôt d'une base à 2 colonnes, les produits (à répéter) et les conditionnements.
Mais pourquoi n'avez vous dans votre exemple qu'une ligne de 2 cellules munies de listes de validations ? S'il y en avait plusieurs pour des saisies corrélées dans tout un tableau, cela impliquerait juste deux plages supplémentaires pour ces listes. Elles seraient automatiquement reconstruites en fonction des choix dans l'une. Mais avec un seul jeu, il y aurait grand intérêt à utiliser un Userform avec 2 ComboBox. Non seulement les plage listes ne seraient plus nécessaires (les propriétés List des ComboBox en feraient office), mais le choix pourrait aussi se faire par frappe des 1ères lettres du produit. Vous ne dites rien de l'usage que vous faites ensuite des sélections. J'imagine que ça pourrait servir à remplir des bons de commande et que le prix de l'unité de conditionnement pour ce produit pourrait suivre dans une 3ième colonne. Alors c'est un Userform pour les commandes qu'il vous faudrait !
 
Dernière édition:

pirlouite

XLDnaute Nouveau
Re : Mise a jour liste, validation, fonction indirect

Bonjour Dranreb et natorp,

la solution fournie par natorp fonctionne pour mon fichier simple d'exemple... mais mon fichier de travail est plus complexe... pour répondre à Dranreb j'ai :

Des produits qui ont chacun une ou plusieurs couleurs (différente en fonction des produits), ce qui donne un numéro de lot (qui peut être commun cad 1 produit+1 couleur peut avoir le même n° que 1 autre produit avec une autre couleur). Ensuite en fonction du produit et de la couleur j'ai une sélection de conditionnements avec pour chacun un prix par litre de produit.

J'ai utilisé les listes, la fonction indirect, la fonction rechercheV...

Je vais reprendre mon fichier en utilisant le code donné et voir si j'arrive à un résultat correct, si tel est le cas je posterai un fichier d'exemple réussit plus complexe ou un fichier plus complexe pour que vous m'aidiez ^^

Merci en tous cas ;)
 

Dranreb

XLDnaute Barbatruc
Re : Mise a jour liste, validation, fonction indirect

Avec des ComboBox liés ou en cascades, plus besoin de RECHERCHEV, j'ai des modules de classes qui rendent directement la ligne où se trouve la combinaison de critères choisie. Les modules nécessaires sont dans OutIdx. On peut repomper ceux qu'il faut de ce classeur où bien l'utiliser en programme complémentaire.
 

pirlouite

XLDnaute Nouveau
Re : Mise a jour liste, validation, fonction indirect

Merci pour les précisions mais pour le moment je ne connais pas du tout le VBA.

Je me suis débrouillé avec la "macro" donnée et j'obtiens a peu près le résultat que je voulais.

Merci à vous 2.

;)
 

Discussions similaires

Réponses
36
Affichages
2 K
Réponses
8
Affichages
470

Membres actuellement en ligne

Statistiques des forums

Discussions
312 452
Messages
2 088 543
Membres
103 880
dernier inscrit
rafaelredsc