Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1127 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] remplissage d'une valeur sur choix dans un menu déroulant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] remplissage d'une valeur sur choix dans un menu déroulant

n°1583419
Xocs
Posté le 06-07-2007 à 19:01:59  profilanswer
 

Bonjour :)
 
j'ai besoin d'un petit coup de pouce :
 
sous Excel, dans l'onglet 2, j'ai fais une base de données du style :
 
Légume           Prix
Pomme            3
Poire               4
Haricot            5
 
Dans l'onglet 1, pour facturer plus rapidement, j'ai fait un menu déroulant, ainsi on clique sur la cellule, sélectionne le légume et il s'affiche sans avoir besoin de le taper.
 
Cependant, j'aimerais que dans la cellule à côté s'affiche automatiquement le prix correspondant
 
 
Je pense que c'est faisable, mais je ne vois pas bien comment faire  :??:  
 
un script qui tourne en permanence et regarde si la valeur dans la cellule légume est égale à un légume de la base de donnée, et remplit donc la case prix si c'est le cas ?
 
 
Merci d'avance pour votre aide  :hello:

mood
Publicité
Posté le 06-07-2007 à 19:01:59  profilanswer
 

n°1583423
jpcheck
Pioupiou
Posté le 06-07-2007 à 19:22:04  profilanswer
 

dans l'évenement change de la feuille, tu fais un test sur la colonne de la modif (target.column) et tu traites selon le résultat du test.

n°1583426
Xocs
Posté le 06-07-2007 à 19:34:34  profilanswer
 

d'accord, je vais chercher sur cette piste :)
 
merci bien

n°1583455
Xocs
Posté le 06-07-2007 à 22:22:04  profilanswer
 

Pour l'instant, j'ai écrit une partie de programme qui marche, sauf sur un point :
 
excel détecte un changement n'importe où sur toute la feuille, donc si la programme vient à modifier la valeur d'une cellule ailleur, il s'arrête et reprend de zéro, et ainsi de suite jusqu'à l'infini ...
 
il me faudrait un moyen de restreindre la recherche de changement de valeur seulement sur les plages B17:B23
 
c'est possible ?
 

Code :
  1. Dim Facture As Excel.Worksheet
  2. Dim DB As Excel.Worksheet
  3.  
  4.  
  5.  
  6. Private Sub Worksheet_Change(ByVal Target As Range)
  7.    
  8.    Marqueur = 0
  9.    Marqueur = 1
  10.    
  11.    Set Facture = ThisWorkbook.Worksheets(1)
  12.    Set DB = ThisWorkbook.Worksheets(2)
  13.    
  14.    If Target.Count = 1 Then
  15.        
  16.        If Target.Value <> "" Then
  17.        For Each Cellule In DB.Range("A1:A100" )
  18.        
  19.        
  20.                If Target.Value = Cellule.Value Then
  21.                    LigneFacture = Target.Row
  22.                    LigneDB = Cellule.Row
  23.                   Facture.Cells(LigneFacture, 5).Value = DB.Cells(LigneDB, 2).Value
  24.                    Exit For
  25.                End If
  26.         Next
  27.  
  28.  
  29.  
  30. ........


Message édité par Xocs le 06-07-2007 à 22:22:28
n°1583457
jpcheck
Pioupiou
Posté le 06-07-2007 à 22:27:18  profilanswer
 

if target.row >16 and target.row < 24 and target.column = 2 then

n°1583459
Xocs
Posté le 06-07-2007 à 22:32:21  profilanswer
 

D'accord, je suis vraiment un boulet ...
merci à toi :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] remplissage d'une valeur sur choix dans un menu déroulant

 

Sujets relatifs
Graphe sou VBAVBA Excel Impression sur critères
[Access] Valeur par défault liste déroulantetester le choix fait dans un liste de choix
Site deroulant à la vertical sans utiliser le scroll[Java/Ireport] Obtenir une valeur obtenue dans le sous rapport
excel VBA : gestion des ";" lors d'un saveAS texte(DOS)menu vertical javascript que l'on peut cacher
VBA - transferer des valeurs de Word vers Excel[VBA/EXCEL] filtre et d'addition
Plus de sujets relatifs à : [VBA] remplissage d'une valeur sur choix dans un menu déroulant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR