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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Liste déroulante et If ...then

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Liste déroulante et If ...then

n°1514272
Noug
Posté le 13-02-2007 à 20:47:49  profilanswer
 

Bonjour,
Je suis débutant en vba, et c'est pas toujours facile, facile :pt1cable: . Voilà j'ai en partie réussi ce que je voulais, c'est afficher qqc (exemple 9m) dans une cellule (B1) si c'est écrit "humain" dans la cellule (A1) grâce à ce code :
 
Sub distance ()
Dim Race As String
Dim Dist As String
Race = Range ("A1" )
If Race = "humain" then Dist = "9m"
If Race = "gnôme" then Dist ="6m"
Range ("B1" ) = Dist
End Sub
 
Je voudrais obtenir la même chose avec une liste déroulante à la place de tapper manuellement "humain" en A1...mais lorsque je mets une liste en A1 ça ne marche plus...
 
Quelqu'un connait-il la solution ( et peut-il me l'expliquer de manière pas trop complexe..)?
Merci d'avance !
 

mood
Publicité
Posté le 13-02-2007 à 20:47:49  profilanswer
 

n°1514603
aprilthe5i​th
Posté le 14-02-2007 à 15:51:34  profilanswer
 

Alors,
 
tu dois plutot utiliser les "zones de liste déroulantes".
 
Exemple :
 
sur la feuil2 de ton classeur tu écris "Humain" en A1 et "Gnome" en A2
 
sur la feuil1, tu fais : Affichage/Barre d'outils/Boite à outils controle
dans le menu qui s'affiche choisis "zone de liste déroulante" et dessine la zone avec la souris sur ta feuil1
 
tu cliquesensuite dans le même menu (boite à outils) sur "Propriétés
et dans ListFillRange tu écris :
 
Feuil2!$A$1:$A$2
 
tu double-clique ensuite sur ta combobox et tu copies le code suivant :
 
Private Sub ComboBox1_Change()
 
If ComboBox1.Value = "Humain" Then Cells(1, 2) = "6m"
If ComboBox1.Value = "Gnome" Then Cells(1, 2) = "9m"
 
End Sub
 
Et voila.
 

n°1514725
Noug
Posté le 14-02-2007 à 19:07:43  profilanswer
 

Merci beaucoup ! ça fonctionne  :jap:  

n°1514731
Noug
Posté le 14-02-2007 à 19:28:36  profilanswer
 

Je me suis réjoui trop vite ! La question maintenant c'est :
 
1. est-ce que c'est possible de demander de mettre le résultat dans la cellule d'une autre feuille que celle de la liste et
2. est-ce qu'on peut mettre dans cette cellule le contenu d'une autre cellule ?
 
Car je ne vois pas comment je peux faire
 
Sub distance ()  
Dim Race As String  
Dim Dist As String  
Race = Range ("A1" )  
If Race = "humain" then Dist = Range("feuil2!A1" )  
If Race = "gnôme" then Dist ="Range("feuil2!A2" )
Range ("B1" ) = Dist  
End Sub  
 
avec le système de Combobox...

n°1514957
aprilthe5i​th
Posté le 15-02-2007 à 11:54:46  profilanswer
 

Pour afficher ton résultat sur une autre page tu ajoutes la référence de cette feuille :  
If ComboBox1.Value = "Gnome" Then _
activeworkbook.worksheets(le chiffre que tu veux).cells(X,Y)="9m"
 
Pour y mettre le contenu d'une autre cellule :
 
If ComboBox1.Value = "Gnome" Then _
activeworkbook.worksheets(le chiffre que tu veux).cells(X,Y)= _
activeworkbook.worksheets(le chiffre que tu veux).cells(X',Y')
 
C'est tout simple.
 
 
 

n°1514969
aprilthe5i​th
Posté le 15-02-2007 à 12:16:59  profilanswer
 

Si tu veux rapidement te perfectionner en vba surtout sur les basics, le mieux c'est internet.
Les pages d'exemple et de théorie avec lesquelles j'ai appris (en 2 semaines max) :
 
http://www.excelabo.net
http://www.cathyastuce.com
http://www.info-3000.com/vbvba/
http://drq.developpez.com/vb/tutoriels/String/
http://bvrve.club.fr/Astuces_Michel/02excelvba.html

n°1515039
Noug
Posté le 15-02-2007 à 14:19:59  profilanswer
 

Merci encore !  
Je vais continuer mon apprentissage en suivant ton conseil. Peut-être à dans quelques semaines, quand parce que j'en aurais appris plus, je voudrais en faire plus et donc j'aurais un pb à un moment ;)


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

  Liste déroulante et If ...then

 

Sujets relatifs
sélectionner une liste de fichiers avec FileReferenceList ?valeur de la selection d'une liste déroulante dans une variable
liste déroulante formulaire principal sous-formulaire.
Liste deroulante et champs textePrblème : 2 listes deroulante dependantes
CSS+liste enumerative = probleme ???? 
Plus de sujets relatifs à : Liste déroulante et If ...then


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