[EXCEL] Associé nombre à mot depuis une liste déroulante

Associé nombre à mot depuis une liste déroulante [EXCEL] - VB/VBA/VBS - Programmation

Marsh Posté le 21-10-2015 à 18:55:32    

Bonjour à tous  :hello:

 

Je cherche a définir une cellule selon ses coordonnées X et Y >>> Cell(X,Y)

 

Commençons par Y :

 

J'ai une liste déroulante de 7 mots : Charges, Courses, Voiture, Mobilier, Shopping, Loisirs, Epargne

 

Je voudrais associé ces 7 mots aux valeurs suivantes (dans l'ordre) : 5, 7, 9, 11, 13, 15, 17

 

Comment faire cela en VBA ? Déclaration de variable ou quelque chose comme ca ?

 

EDIT : Précision, ma liste déroulante est en A2, je voudrais donc que Y = A2 = 5 ou 7 ou 9 ou ...


Message édité par relaxmax999 le 21-10-2015 à 18:57:06

---------------
(FZ7)  30D + 75-300 + 18-55 + 50 1.8 - Mon Filckr
Reply

Marsh Posté le 21-10-2015 à 18:55:32   

Reply

Marsh Posté le 21-10-2015 à 19:07:22    

Code :
  1. Dim Y as Integer
  2. Y = ListBox1.ListIndex * 2 + 5


 
Va te donner la bonne valeur de Y.
Attention au fait que le moindre décallage genre 5, 7, 9 devient 5, 8, 9 fout tout en l'air.
 
Et si tu veux 'par rapport à la position de la liste', au lieu de Cell, tu as Offset.

Reply

Marsh Posté le 21-10-2015 à 19:15:14    

Devil'sTiger a écrit :

Code :
  1. Dim Y as Integer
  2. Y = ListBox1.ListIndex * 2 + 5


 
Va te donner la bonne valeur de Y.
Attention au fait que le moindre décallage genre 5, 7, 9 devient 5, 8, 9 fout tout en l'air.
 
Et si tu veux 'par rapport à la position de la liste', au lieu de Cell, tu as Offset.


 
Je vois l'idée, ca m'intéresse, mais je ne sais pas utiliser ListBox1 ou ListIndex
 
Concrêtement je les remplaces par quoi ?


---------------
(FZ7)  30D + 75-300 + 18-55 + 50 1.8 - Mon Filckr
Reply

Marsh Posté le 21-10-2015 à 19:34:02    

Tu as une liste, elle doit avoir un nom cette list (ListBox1 c'est le nom "par défault", de la première liste que tu as créé, si c'est la deuxième, elle s'appelle ListBox2...)
 
Et ListIndex est une propriété de chaque liste ;)

Reply

Marsh Posté le 21-10-2015 à 20:14:31    

Devil'sTiger a écrit :

Tu as une liste, elle doit avoir un nom cette list (ListBox1 c'est le nom "par défault", de la première liste que tu as créé, si c'est la deuxième, elle s'appelle ListBox2...)

 

Et ListIndex est une propriété de chaque liste ;)

 

VBA me dit "Objet requis"

 

Et me surligne la ligne "Y = ListBox1.PosteIndex" en jaune

 

Voici mon code :

 
Citation :

Sub Test()
Dim Y As Integer
Débit = Range("A4" ).Value

 

X = Range("B2" ).Value
Y = ListBox1.ListIndex + 2

 

Cells(X, Y).Formula = Cells(X, Y).Formula & "+" & Débit

 

Range("A4" ).Value = 0

 

End Sub

 

EDIT : Quand je survole X dans l'éditeur VBA j'ai bien 4 mais pour Y il me dit 0


Message édité par relaxmax999 le 21-10-2015 à 20:28:29

---------------
(FZ7)  30D + 75-300 + 18-55 + 50 1.8 - Mon Filckr
Reply

Marsh Posté le 21-10-2015 à 20:58:32    

Oui car ce message indique que "ListBox1" n'existe pas, donc soit il s'appelle autre chose, soit la liste que tu es est une liste non-contrôle (et je ne connais pas le code dans ce cas là)

Reply

Marsh Posté le 21-10-2015 à 21:14:08    

Comment vérifier ?


---------------
(FZ7)  30D + 75-300 + 18-55 + 50 1.8 - Mon Filckr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed