[VBA] excel - comment faire ceci ?

Résolu
telecofr Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
vincarter Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je débute dans vba d'excel.
Je voudrais faire ceci en vba, mais ne connaissant rien sur le vba, jen esais pastraduire cela en vba.

dans la cellule a1, je voudrais faire une liste de choix contenant ceci : doublet; triplet; quadruplet
dans la cellule a2, je voudrais faire ceci :
si a1 = doublet => a2 = 2
si a1 = triplet => a2 = liste déroulante avec comme choix 3 et 4
si a1 = quadruplet => a2 = liste déroulante avec comme choix 5, 6 et 7

dans la cellule a3, je voudrais faire le calcul suivant : valeur sélectionné en a2 *4 (pour cela je pense qu'il ne faut pas de vba, et mettre directement dans la cellule a3 sous excel : =a2*4)

pourriez vous me dire comment faire sous vba pour faire cela, dans les détails car je ne connais rien de rien en vba. Merci.

fr

14 réponses

redonky Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   23
 
Alors voilà ce que j'ai fait, j'ai installé deux listes déroulantes (ComboBox) de la boite à outil VBA

Je les ai placé dans la cellule A1 et A2, puis en dans les cellule G1, G2 et G3 j'ai respectivement inscrit "Doublet, Triplet..."

Et le paramètre de ma Combobox1 listCells est donc G1:G3 et Combobox2 listCells est H1:H3

et les codes des ComboBox sont les suivants :

Private Sub ComboBox1_Change()
Range("A2") = ""
If ComboBox1.Value = "Doublet" Then
ComboBox2.Visible = False
Range("A2") = 2
Range("A3") = 4 * Range("A2")
ElseIf ComboBox1.Value = "Triplet" Then
Range("H1") = 3
Range("H2") = 4
Range("H3") = ""
ComboBox2.Visible = True
ElseIf ComboBox1.Value = "Quadruplet" Then
Range("H1") = 5
Range("H2") = 6
Range("H3") = 7
ComboBox2.Visible = True
End If
End Sub

Private Sub ComboBox2_Change()
If ComboBox2.Value <> "" Then
Range("A2") = ComboBox2.Value
Range("A3") = 4 * Range("A2")
End If
End Sub



Voilà, je crois que cette application fait ce que tu souhaites ;)
1
redonky Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   23
 
Je ne vois que les macros pour faire ça et non les formules
0
Maninred7 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   7
 
Si tu me donnes un email, je peux te faire passer un truc simple que je viens de faire en 5minutes et qui doit pouvoir faire l'affaire ...
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
L'idéal pour tout le monde est que la solution soit apportée directement sur ce topic. Cela permettra peut être à quelqu'un de ne pas reposer la même question.
Merci donc de placer la solution adéquate ici même.
Cordialement,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Maninred7 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   7
 
Je voudrais bien mais j'ai fait un petit truc dans Excel avec des validation de cellules, avec des formules simples, sans passer par des macros, il n'y a donc pas de code à afficher ... ici même !
Il faudrait que je dépose mon fichier ...
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Alors tu peux utiliser cjoint.com et mettre le lien ici.
0
telecofr Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
erreur de manip
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Ou alors que tu l'expliques simplement pour le premier cas : si a1 = doublet => a2 = 2
si a1 = triplet => a2 = liste déroulante avec comme choix 3 et 4
Pas par fichier joint car je crois qu'ils ont une durée de "vie" limitée...
Merci en tout cas

Edit : on ne pouvait pas prévoir que tu passerais par des validations etc... car le sujet traite de VBA...
0
Maninred7 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   7
 
C'est vrai mais cela est si simple avec des listes de validation, que j'ai trouvé la solution tellement plus passer par macros ...
0
redonky Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   23
 
Je vais essayer de faire une appli VBA que je mettrais ;)
0
Maninred7 Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   7
 
Quel talent !!! Bravo...
0
telecofr Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
merci à tous pour votre aide !

redonky, j'ai fait via la "boite à outil contrôles" 2 zones de liste déroulante en A1 et A2
Dans G1, G2 et G3, j'ai copié respectivement doublet, triplet et quadruplet.
Pb n°1 : comment faire pour paramétrer les combobox 1 et 2 avec G1:G3 et H1:H3 ?

Ensuite, j'ai cliqué bouton droit sur la feuille où j'ai mis les 2 zones de liste et choisi "visualiser le code"
Ensuite j'ai copié le code que tu as fait dans la nouvelle fenetre qui s'est ouverte.

Et après comment faire ?

je suis ultra débutant en vba, donc merci pour les explications !!

Sinon, Maninred7, je pensait que l'on ne pouvait faire cela qu'en code vba. Si tu as trouvé une solution sans code vba ni macros, je voudrais bien la connaître, stp. Merci de nous la donner !

merci encore pour les explications des 2 méthodes.

fr
0
redonky Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   23
 
Il te suffit d'activer le mode création toujours dans la barre VBA et de clicker droit sur une combobox et d'allé voir le paramètre listcells au dessus de linkcells ou un truk du genre :D
0
vincarter Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour cher tous, peut ¨¨tre pour certains je dois venir du XIXe si¨¨cle. Je suis francophone, combobox c'est quoi. Autrement dit, je suis aussi n¨¦ophyte dans VBA. Si vous pouvez avoir un lexique ou tout autre doc pour, 0Š4a me permettrait de me rattraper. vince_kuate@yahoo.fr, c mon e-mail. Je vous remercie
0
telecofr Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
super, merci redonky pour ton aide !!

dernière question, on est obligé de mettre les valeurs des combobox dans des cellules de la feuille ?
peut on ne pas les mettre dans le code vba plutot ?

merci !

fr
0
redonky Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   23
 
Là je t'admet que tu me pose une colle, j'ai rapidement cherché mais je n'y suis pas arrivé si un jour je trouve je posterais, mais je pense que cela est possible...en faisant une commande du genre Open with ou un truck du genre mais honnêtement je n'était pas sur que le jeu en valait la chandelle :D

Bonne continuation
0
telecofr Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour ton aide en tout cas !!

fr
0