[EXCEL] Selectionner cellule avec 2 paramètres

Selectionner cellule avec 2 paramètres [EXCEL] - VB/VBA/VBS - Programmation

Marsh Posté le 20-10-2015 à 17:51:59    

Bonjour à tous  :hello:  
 
Je commence en VBA et je souhaiterais un peu d'aide pour réaliser la fonction que je cherche.
 
Je vous explique le projet :
 
J'ai une feuille de compte à remplir. Les lignes sont les mois de l'année (Janvier 2015, Fevrier 2015, etc...), et les colonnes sont les postes de dépenses (Charges fixes, Voitures, Shopping, etc...)
 
Jusqu'a présent je remplis mes cases manuellement. Mes cases sont donc écrites comme ceci (=dépense1 + dépense2 + ...)  
 
J'ai plein d'autre choses qui gravite autour et j'en ai marre d'aller éditer mes cases manuellement alors je voudrais créer un remplissage semi-automatisé. Voici ce que j'aimerais réaliser :
 
Sur ma première feuille j'aimerais créer 2 cases avec menu déroulant (l'une pour les mois de l'année, l'autre pour les postes de dépenses), ca OK !
Une case dans laquelle j'indique le montant de la dépense à ajouter
Un bouton qui, lorsque j'appuie fait "+dépenseX" dans la bonne case, définie par mes 2 menus déroulant.
 
Exemple :
 
Je choisi "Octobre2015" en A1 et "Shopping" en A2  
J'indique 27,50€ en B1  
Quand je clique sur mon bouton, la somme de 27,50€ est ajoutée au total dans la case correspondante a la colonne Shopping et la ligne Octobre 2015  
 
Bon ... ca fait sans doute un code assez long, je ne vous demande pas de me rédiger celui-ci évidement. Nan la ou je suis coincé c'est pour définir ma bonne case d'écriture en fonction de mes cases A1 et A2 (Mois de l'année, et poste de dépense)  
 
Un petit coup de pouce serait le bienvenue !  :jap:


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

Marsh Posté le 20-10-2015 à 17:51:59   

Reply

Marsh Posté le 20-10-2015 à 22:38:39    

On dirait que ma question vous pose problème également ?

 

Peut-être une façon détournée d'obtenir le même résultat ?

 

Pour information mon code de base ressemble à ca :

Citation :


Sub Test()
Débit = Range("A4" ).Value

 

X = Range("B2" ).Value
Y = Range("C2" ).Value
Cells(X, Y).Value = Cells(X, Y).Value + Débit

 

Range("A4" ).Value = 0

 

End Sub

 

Ici je rentre un chiffre dans B2 et un chiffre dans C2 et en cliquant sur "Test" ma valeur se copie au bon endroit.

 

Maintenant j'aimerais que X et Y soit issu d'un menu déroulant.

 

Genre :

 

Shopping = 4
Voiture = 3

 

Février2015 = 24
Mars2015 = 25

 

Etc ...

 

Ainsi je choisi dans mes 2 menus déroulant une combinaison Mois / Poste de dépense et mon débit apparait dans la bonne case


Message édité par relaxmax999 le 20-10-2015 à 23:21:24

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

Marsh Posté le 21-10-2015 à 10:54:56    

Et bien ! Mon problème n'intésse personne on dirait !
 
Pour les colonnes, il n'y en a qu'un nombre limité (moins de 10) et ca ne changera jamais. Donc j'imagine que je peux simplement declarer mes variables. Je ne sais pas trop comment faire mais l'idée serait d'avoir un truc comme ca :
 
Shopping = 1
Epargne = 2
Voiture = 3
Etc ...
 
En B2 j'ai ma liste déroulante avec Shopping, Epargne, Voiture, etc ...
 
Et dans mon code je dit que X = B2
 
Pour les lignes c'est plus complexe car j'en rajoute régulièrement et leur nombre est potentiellement infini ...


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

Marsh Posté le 21-10-2015 à 11:40:34    

J'ai fais ça mais ca ne marche pas ...

 
Citation :

Sub Test()
Const Shopping As Single = 2
Const Epargne As Single = 3

 

Débit = Range("A4" ).Value

 

X = Range("B2" ).Value
Y = Range("C2" ).Value
Cells(X, Y).Value = Cells(X, Y).Value + Débit

 

Range("A4" ).Value = 0

 

End Sub

 

Avec en B2 un chiffre et en C2 une liste déroulante avec Shopping ou Epargne


Message édité par relaxmax999 le 21-10-2015 à 11:41:30

---------------
(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