Macro visual Basic sur excel

didwin Messages postés 56 Date d'inscription   Statut Membre Dernière intervention   -  
 didwin -
Bonjour,


Je voudrais faire un échéancier sur excel cu que c est un tableur cela devrait être simple. Je voudrais un style zonelist ou tu indique le montant que tu régles et le systéme doit être capable de ranger cette information en D2 + la date de réglement mais si D2 est déja pris il doit alors la mettre en d3 etc

Merci par avance de votre aide

Didwin
A voir également:

6 réponses

ptidavid Messages postés 1273 Date d'inscription   Statut Membre Dernière intervention   104
 
Bonjour à toi,

Je ne comprends pas très bien ton problème, peux-tu donner un exemple?
0
didwin
 
Salut,

Alors je vais essayer d'être clair dans mon exemple : voila j ai un prêt de 4500 euros . Ce mois, je veux enregistrer un paiement de 150 euros donc cette somme dois s incrire (exemple en b5) Dans la colonne B vont figurer tous mes remboursements. Donc le premier va aller dans b5 alors je voudrais une petite macro qui indique que si B5 est déja pris qu il mette l'information en B6 et ainsi de suite.
J espère que tu arrives a voir ce que je veux dire sinon recontacte moi.
Bonnes fetes de fin d années

Didwin
0
jejelefou Messages postés 304 Date d'inscription   Statut Membre Dernière intervention   42
 
Bonjour,

ça ne serait pas plus simple que tu regardes la 1ere case de vide de la colonne B et avec ta souris cliquer dessus?
Parce du code pour voir si une case est vide, c'est riche.

Sinon j'ai tres mal compris ta requette. Dans ce dernier cas Pourrais tu nous eclaircir un peut mieux.

cordialement
0
moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
re

quelque chose com ca serais le plus simple

i=1
miseajour = false
do until i = 1 or miseajour = false
if cells(i,4).value <>"" then
...
...
...
miseajour = true
else
i = i+1
end if
loop
0
didwin
 
alors d accord pours tes infos mais que dois faire ? est ce que je créé une macro ? je te préviens je suis novice mais merci d avance pour ton aide

Didwin
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

essaies cette macro qui te demande le montant puis la date de prise en compte
le montant s'écrit dans la colonne D et la date dans la colonne E à la 1° ligne vide

Sub rembourser()
Dim montant, jour, ligvide As Integer

montant = InputBox("montant à inscrire")
If montant = "" Or Not IsNumeric(montant) Then Exit Sub

jour = InputBox("date de prise en compte sous la forme jj/mm/aa")
If Not jour Like "##/##/##" Then Exit Sub

ligvide = Range("D1000").End(xlUp).Row + 1
Cells(ligvide, 4) = montant
Cells(ligvide, 5) = Format(jour, "dd/mm/yy")
End Sub


Pour installer (XL<2007)
fais un "copier" de cette macro
va dans VBE avec Alt+F11
insertion-module
coller
retourne sur ta feuille
dans barre d'outils formulaire sélectionne le bouton et dessine le sur la feuille
et affecte le à la macro
0
didwin
 
merci de ton aide vraiment génial

mais dis moi, si je veux mettre mon échéancier sur la feuill2 ce dois je changer dans ma formule.

merci et bonne fête

Didwin
0
didwin
 
Bonjour Michel,

Merci pour l info cela marche c est super. Maintenant je voudrais faire un 2ème bouton qui devrait me permettre de modifier une échéance ( ex : erreur sur le montant) . Peux tu encore m'aider.

merci par avance

Didwin
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > didwin
 
bonjour,

je regarde ca cet aprèm: un peu de patience... merci ;-)
0
didwin > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
Michel,

Juste une petite question, sur ton premier programme cela fonctionne bien mais si je voulais que la date et la somme soient incrite sur ma feuil2 (appelé échéancier) que dois-je changer.

Merci par avance

Didwin
0
tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   435 > didwin
 
Bonjour,

les plus simple serait d'executer le code en étant déjà sur la feuille voulue (ce code fonctionne sur la feuille active)
Sinon, modifier comme ceci :
Sub rembourser()
Dim montant, jour, ligvide As Integer

montant = InputBox("montant à inscrire")
If montant = "" Or Not IsNumeric(montant) Then Exit Sub

jour = InputBox("date de prise en compte sous la forme jj/mm/aa")
If Not jour Like "##/##/##" Then Exit Sub

Sheets("échéancier").Activate

ligvide = Range("D1000").End(xlUp).Row + 1
Cells(ligvide, 4) = montant
Cells(ligvide, 5) = Format(jour, "dd/mm/yy")
End Sub
0

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

Posez votre question
moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
et bien sur mise a jour du champ ou tu rentre t info tu met le code suivant:

i=1
miseajour = false
do until i = 1 or miseajour = false
if worsheets"nom de ta feuille".cells(i,4).value ="" then
worsheets"nom de ta feuille".cells(i,4).value = montant tapé je ne c pas ou
miseajour = true
else
i = i+1
end if
loop
0
moiced59 Messages postés 1145 Date d'inscription   Statut Membre Dernière intervention   60
 
i=1
miseajour = false
do until i = 1 or miseajour = false
if worsheets"feuil2".cells(i,4).value ="" then
worsheets"feuil2".cells(i,4).value = montant tapé je ne c pas ou
miseajour = true
else
i = i+1
end if
loop
0