Aide Automatisation Excel
Bonjour a tous et joyeuses fêtes
Je vous explique un peu ma situation:
Je suis étudiant de DUT en 2ème année et à partir de Janvier, je dois me gérer financierement (mes paternels m'envoie mon argent par mois).
C'est pourquoi j'ai mis en place un tableau excel.
Je vous explique vite fait le fonctionnement:
Chaque debut de mois j'insere les données dites "de base". C'est a dire l'argent que m'envoie mes parents.
J'indique aussi le solde de mon compte bancaire personnel.
La colonne de droite est calculée automatiquement grace a la fonction somme.si "Si y'a marqué RU, alors on retranche ..." (vous l'aurez compris) !
La derniere colonne est un indicateur de couleur qui va vers le rouge des qu'on s'approche du budget de depart aloué.
Ce classeur Excel doit etre rempli des que je fait une nouvelle transaction (2-3 fois par semaine).
Mon soucis est le suivant:
Je voudrais avoir un bouton VBA qui:
a)Capte automatiquement la date actuelle
b)Demande de quelle nature de la transaction il s'agit : poche/essence ...
c)Demande le montant associé
d)Demandeson motif
en b) il s'agit de "RBS" (Remboursement)
Alors Demander pour qui ?,la date du jour,le montant associé,remplir obligatoirement NON dans la case.
Je voudrais qu'en rentrant ces informations, le tableau se remplisse tout seul (pas besoin de cliquer sur les cellules pour les remplir)
Vu que j'utilise ce tableau plusieurs fois par semaine, je gagnerai un temps fou avec cette automatisation: j'ouvre, je clique sur le bouton, je remplis, je sauvegarde et je ferme
Merci d'avance pour l'aide
Post scribum : Juste la partie Janvier a été faite, je n'ai pas encore copié collé le restant sur les autres mois
Après quelques recherches sur des cours VB sur internet j'ai créer ce code :
Option Explicit
Dim DateB As String
Dim Nature As String
Dim Montant As String
Dim Motif As String
Dim MotifQ
Dim Q As String
Dim MontantQ As String
Dim DateQ As String
Dim RBS As String
Dim Cellule As String
Private Sub cmd1_Click()
DateB = InputBox("Indiquez Date [JJ/MM/AAAA]")
Nature = InputBox("Indiquez Nature [RU/Essence/RBS/Poche]")
If Nature = "RBS" Then
Q = InputBox("Indiquer le rembourseur")
DateQ = InputBox("Indiquez Date Aujourd'hui [JJ/MM/AAAA]")
MontantQ = InputBox("Indiquer A Etre Remboursé [xx,xx €]")
Cellule = InputBox("Indiquer Oui/Non")
MotifQ = InputBox("Indiquer Motif de la Transaction")
IfEnd
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End Sub
Pour moi, je pense que ce code est bon !
Mais il n'est pas l'avis de VBA qui me dit :
Erreur Compilation ; sub ou fontion non definie
Pourtant mon bouton s'appelle bien "cmd1"
Je ne comprends pas ?
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour,
Sans trop analyser, remplace:
IfEnd
par
End If
Amicalement
Claude.
Effectivement ca marche ^^
j'ai donc modifié le code :
Option Explicit
Dim DateB As String
Dim Nature As String
Dim Montant As String
Dim Motif As String
Dim MotifQ
Dim Q As String
Dim MontantQ As String
Dim DateQ As String
Dim RBS As String
Dim RU As String
Dim Essence As String
Dim Poche As String
Dim Cellule As String
Private Sub Bouton()
DateB = InputBox("Indiquez Date [JJ/MM/AAAA]")
Nature = InputBox("Indiquez Nature [RU/Essence/RBS/Poche]")
If Nature = "RBS" Then
Q = InputBox("Indiquer le rembourseur")
DateQ = InputBox("Indiquez Date Aujourd'hui [JJ/MM/AAAA]")
MontantQ = InputBox("Indiquer A Etre Remboursé [xx,xx €]")
Cellule = InputBox("Indiquer Oui/Non")
MotifQ = InputBox("Indiquer Motif de la Transaction")
End If
If Nature = "RU" Then
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End If
If Nature = "Essence" Then
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End If
If Nature = "Poche" Then
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End If
End SubMaintenant j'ai une autre question, Comment reutiliser les resultats obtenus en les associant aux cellules excel ?
Merci !
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
re,
MotifQ = InputBox("Indiquer Motif de la Transaction")
Exemple pour entrer la valeur en A1:
Range("a1") = MotifQ
Claude.
Superbe cette formule
Dernier soucis donc :
Private Sub cmd1_Click()
DateB = InputBox("Indiquez Date [JJ/MM/AAAA]")
Range("H5:H35") = DateB
Nature = InputBox("Indiquez Nature [RU/Essence/RBS/Poche]")
If Nature = "RBS" Then
Q = InputBox("Indiquer le rembourseur")
DateQ = InputBox("Indiquez Date Aujourd'hui [JJ/MM/AAAA]")
MontantQ = InputBox("Indiquer A Etre Remboursé [xx,xx €]")
Cellule = InputBox("Indiquer Oui/Non")
MotifQ = InputBox("Indiquer Motif de la Transaction")
End If
If Nature = "RU" Then
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End If
If Nature = "Essence" Then
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End If
If Nature = "Poche" Then
Montant = InputBox("Indiquer Utilisé [xx,xx €]")
Motif = InputBox("Indiquer Motif de la Transaction")
End If
Range("I5:I35") = Nature
Range("J5:J35") = Montant
Range("K5:K35") = Motif (même principe ici, remplis en fonction de la date)
Range("A17:A27") = Q
Range("B17:B27") = DateQ
Range("D17:D27") = MontantQ
Range("E17:E27") = Cellule (Principe un peu different, je voudrais que le remplissement se fasse en ligne a partir de J5 et pour la prochaine saisie, si il y'a quelque chose en J5, alors passer en K5... Un genre d'analyse de case pleine sinon ligne suivante)
End Sub
Sur la ligne en rouge, comme vous l'avez sans doute compris, je voudrais que si je rentre 3/10/2010, et bien la macro remplira sur la ligne ou apparait "3/10/2010".
Tel que je l'ai rentré là, ca me le fait sur toute la ligne (a cause des ":" !)
Un mélange de Somme.Si intégré a VBA ?
Merci ca me fait apprendre VBA en meme temps
- Messages
- 9'245
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
Bonjour,
Plutôt que tous ces ImputBox fastidieux à remplir, tu pourrais faire une feuille de Saisie (+ conviviale).
Exemple pour trouver la ligne de la date sur tableau de droite.
Amicalement
Claude.
BONJOUR A TOUS
BONNE ANNEE
J'AI FAIS UN PETIT FORMULAIRE DE SAISIE
SI CELA PEUT T'AIDER
MERCI BEAUCOUP !!!
En effet je n'ai jamais été curieux de connaitre les formulaires, pouvez vous me dire comment on les cree/modifie ?
Merci encore c'est exactement ce que je voulais !
BONSOIR SOARESDEN
POUR VISUALISER LE FORMULAIRE IL SUFFIT DES TOUCHES ALT F11
ENSUITE DOUBLE CLICK SUR USERFORM1 POUR VOIR
DOUBLE CLICK SUR LE BOUTON VALIDER POUR VOIR LE CODE
J'ESPERE QUE C'EST CLAIR
C'est super
Merci beaucoup a tous je met resolu je le met en pratique des demain
Encore merci