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
Configuration: Windows Vista Internet Explorer 7.0

6 réponses

  1. ptidavid Messages postés 1322 Statut Membre 108
     
    Bonjour à toi,

    Je ne comprends pas très bien ton problème, peux-tu donner un exemple?
    0
    1. 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
  2. jejelefou Messages postés 310 Statut Membre 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
  3. moiced59 Messages postés 1161 Statut Membre 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
    1. 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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. 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
    2. 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
    3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > didwin
       
      bonjour,

      je regarde ca cet aprèm: un peu de patience... merci ;-)
      0
    4. didwin > michel_m Messages postés 18903 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
    5. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460 > 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. moiced59 Messages postés 1161 Statut Membre 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
  7. moiced59 Messages postés 1161 Statut Membre 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