Input Box afficher resultat dans Excel

Bonjour!

Je souhaite créer une base pour gérer les dépenses.

L'utilisateur clique sur le bouton dans Excel pour ajouter une dépense.

Le but étant de remplir le tableau dans Excel par ce moyen. Le code devra permettre de vérifier si la cellule est vide.

Je pense qu'il faut utiliser une fonction If ou Is Empty ou alors une boucle For ou Do while, mais mes connaissances en Vba ne sont pas suffisantes pour y parvenir.

Je vous joint un fichier exemple.

Merci d'avance.

35depense-exple.zip (8.80 Ko)

Bonjour robi lean,

Une solution :

Private Sub Debit_Click()
    Dim Q1 As Integer
    'Dim cout As Single
    Dim dat As Date

    Q1 = MsgBox("Avez vous dépensé?", vbYesNo, "Question")

    If Q1 = vbYes Then
        cout = InputBox("Combien t'as dépensé?")
        If cout <> "" Then
            Range("c" & Rows.Count).End(xlUp).Offset(1).Value = cout

            dat = InputBox("A quel date?" & vbCrLf & " jour/mois")
            Range("b" & Rows.Count).End(xlUp).Offset(1).Value = dat
        End If
    Else
        MsgBox "Bonne journée"
    End If

End Sub

Désolé mais ça ne fonctionne pas!

En faite la première saisie doit remplir les cellules B3 pour la date et C3 pr le prix. B4 et C4 pour la deuxième saisie...etc

Peut-etre que l'on s'est mieux compris.

Cordialement

Robi

49depense-exple.zip (9.05 Ko)

Dans mon code, j'ai fait exprès de ne pas déclarer la variable cout.

capture5

Ah oui désolé, c'est Ok merci beaucoup!

Juste une dernière petite chose s'il vous plait.

Si je veut faire la somme des dépenses en C10 par exemple. Quand je vais relancer la macro, la saisie (avec inputBox) s'affichera en dessous de la somme (en C11). Comment faire pour l'afficher à la suite de la liste déjà établi ??(en C6 comme sur ton exemple)

Merci d'avance pour tte ton aide!

Robi

Utilise ce code alors :

Private Sub Debit_Click()
    Dim Q1 As Integer
    Dim dat As Date

    Q1 = MsgBox("Avez vous dépensé?", vbYesNo, "Question")

    If Q1 = vbYes Then
        cout = InputBox("Combien t'as dépensé?")
        If cout <> "" Then
            If [c3] = "" Then [c3] = cout Else Range("c2").End(xlDown).Offset(1).Value = cout
            dat = InputBox("A quel date?" & vbCrLf & " jour/mois")
            If [b3] = "" Then [b3] = dat Else Range("b2").End(xlDown).Offset(1).Value = dat
        End If
    Else
        MsgBox "Bonne journée"
    End If

End Sub
Rechercher des sujets similaires à "input box afficher resultat"