[VBA] excel - comment faire ceci ?

Résolu/Fermé
telecofr Messages postés 12 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 5 août 2009 - 4 août 2009 à 16:09
vincarter Messages postés 4 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 5 août 2009 - 5 août 2009 à 17:33
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
A voir également:

14 réponses

redonky Messages postés 102 Date d'inscription jeudi 2 avril 2009 Statut Membre Dernière intervention 31 octobre 2010 23
5 août 2009 à 10:33
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 jeudi 2 avril 2009 Statut Membre Dernière intervention 31 octobre 2010 23
4 août 2009 à 23:52
Je ne vois que les macros pour faire ça et non les formules
0
Maninred7 Messages postés 104 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 15 septembre 2017 7
5 août 2009 à 01:42
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
5 août 2009 à 08:53
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 vendredi 5 janvier 2007 Statut Membre Dernière intervention 15 septembre 2017 7
5 août 2009 à 09:09
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 août 2009 à 10:12
Salut,

Alors tu peux utiliser cjoint.com et mettre le lien ici.
0
telecofr Messages postés 12 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 14:36
erreur de manip
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
5 août 2009 à 09:11
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 vendredi 5 janvier 2007 Statut Membre Dernière intervention 15 septembre 2017 7
5 août 2009 à 09:23
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 jeudi 2 avril 2009 Statut Membre Dernière intervention 31 octobre 2010 23
5 août 2009 à 09:25
Je vais essayer de faire une appli VBA que je mettrais ;)
0
Maninred7 Messages postés 104 Date d'inscription vendredi 5 janvier 2007 Statut Membre Dernière intervention 15 septembre 2017 7
5 août 2009 à 10:34
Quel talent !!! Bravo...
0
telecofr Messages postés 12 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 14:34
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 jeudi 2 avril 2009 Statut Membre Dernière intervention 31 octobre 2010 23
5 août 2009 à 14:37
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 samedi 4 septembre 2004 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 17:33
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 samedi 7 mai 2005 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 14:51
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 jeudi 2 avril 2009 Statut Membre Dernière intervention 31 octobre 2010 23
5 août 2009 à 15:06
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 samedi 7 mai 2005 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 15:11
merci pour ton aide en tout cas !!

fr
0