Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Interdire valeur négative sous forme de macro

mimil

XLDnaute Junior
Bonjour,

Comment écrire une macro pour dire que dans ma feuille dés qu'il ya une valeur negative
un message d'alerte s'affiche ( ATTENTION VALEUR NEGATIVE) ??

Sachant que j'utilise des combobox et textbox dans ma macro !

Merci
 

Si...

XLDnaute Barbatruc
Re : Interdire valeur négative sous forme de macro

Salut

avec le fichier joint, je ne passerais pas par une évènementielle (qui peut être relancée à tout bout champ donc poser des problèmes).
Une solution peut-être est d'inclure le message avant l'envoi du résultat pour annuler la saisie.
Code:
Private Sub CommandButton1_Click()
    Dim li As Byte
    Dim col As Byte
    Dim ai As Double

    li = Me.ComboBox1.ListIndex + 7
    col = Me.ComboBox2.Column(1, Me.ComboBox2.ListIndex)
    With Sheets("Données")
        Select Case col
        Case 16
            ai = .Cells(li, col - 3).Value
        Case 20 To 44
            ai = .Cells(li, col - 4).Comment.Text
        End Select
        .Cells(li, col).ClearComments
        If CDbl(Me.TextBox1.Value) >= ai Then
            .Cells(li, col).AddComment (TextBox1.Value)  
            .Cells(li, col).Value = CDbl(Me.TextBox1.Value) - ai
        Else
            MsgBox "Résultat négatif donc refusé !", vbInformation, "Attention"
        End If
    End With
    Me.TextBox1.Value = ""
End Sub

Attention, tu peux avoir des messages d'erreur en cas de saisie non valide (pas de contrôles faits pour l'instant). J'ai mis Cdbl Si... tu passes par des décimaux !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…