Faire apparaître le curseur sur cellule <> condition

14projet-excel1.xlsm (16.16 Ko)

Bonjour à vous,

Je suis nouveau ici, et sur vBA également.

J'aurais besoin de votre aide pour l'amélioration d'un projet que j'ai en cours.

Pour faire simple, j'ai besoin de rentrer une formulation permettant d'afficher une msgBox si la condition n'est pas valide du type :

"Si cellule 58B différent de 0 ou 1, alors une message box apparaît pour signaler que la donnée est invalide".

Cependant, j'ai actuellement mis en place un module et une formule me permettant de dire que si la cellule est vide un message apparaît.

de ce type :

module :

Function nbVides(zone As Range) As Integer

Dim cel As Range

For Each cel In zone

If cel = "" Then

nbVides = True

Exit Function

End If

Next

End Function

et fonction :

Private Sub Worksheet_Deactivate()

If nbVides(Range("nonvall")) Then

MsgBox "Attention, cellules non validées", vbOKOnly + vbCritical

Feuil2.Activate

End If

End Sub

PS : ici la cellule "nonvall" est un groupement de cellules fait sous excell répondant à la même requête..

Pourriez-vous m'aider?

Merci d'avance

Cordialement,

Ela_

Bonjour,

Voir fichier joint en attendant + d'infos.

Cdlt.

14ela.xlsm (14.95 Ko)

Fonction VBA modifiée:

Option Explicit
Function nbVides(zone As Range) As Boolean
Dim cel As Range
    For Each cel In zone
        If cel = "" Then
            nbVides = True
            Exit Function
        End If
    Next
End Function

Merci,

Cependant, cela ne répond pas exactement à ma requête.

Il faudrait que lorsque la saisie d'une des cases est différente de 0 ou de 1, en ouverture de seconde page, une box apparaissent avec le message donné; Cela dans la même formulation ou dans une autre, peut importe..

Je sais que c'est pas très explicite, je le voyais dans ce genre, mais je ne trouves pas la formule correspondante :

Sub

If(range("nonvall")).Value <> 0 Or 1 then

msgBox " Saisie Incorrecte", +vbOKOnly + vbCritical

End If

End Sub

Cependant cette formule ne fonctionne pas.. :/

Re,

Modifies la fonction personnalisée de cette façon;

Option Explicit
Function nbVides(zone As Range) As Boolean
Dim cel As Range
    For Each cel In zone
        If Not IsNumeric(cel) Or cel < 0 Or cel > 1 Then
            nbVides = True
            Exit Function
        End If
    Next
End Function

Balaise .

Merci encore pour tout !

Est-il possible ensuite de selectionner la cellule ? ou du moins de la faire apparaitre en surbrillance ?

Merci beaucoup pour votre aide précieuse en tout cas !

Rechercher des sujets similaires à "apparaitre curseur condition"