(RESOLU)Code DEUX IF a simplifier

chaelie2015

XLDnaute Accro
Bonsoir Forum
ci dessous un code, je souhaite le simplifier
Code:
If Range("V107").Value = "Non Installée" Then
    If MsgBox(Prompt:="Attention, vous avez sélectionné (Non Installée), c'est une réserve." & vbCrLf & "Etes-vous sûr ?", Title:="Attention !", Buttons:=vbYesNo) = vbYes Then
        Exit Sub
        Else
        Range("V107").Select
    End If
End If

If Range("V109").Value = "Non Installée" Then
    If MsgBox(Prompt:="Attention, vous avez sélectionné (Non Installée), c'est une réserve." & vbCrLf & "Etes-vous sûr ?", Title:="Attention !", Buttons:=vbYesNo) = vbYes Then
        Exit Sub
        Else
        Range("V109").Select
    End If
End If
si la cellule V107 contient Non Installée alors afficher Msgbox
IDEM pour V109
les deux cellules sont indépendantes
SALUTATIONS
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Code DEUX IF a simplifier

Bonsoir chaelie2015,

Tu ne précises pas dans quelle procédure s'inscrit ta macro.

J'ai donc considéré qu'elle se trouve dans l'événement Change de ta feuille, ce qui me conduit à te proposer la formule suivante:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("V107, V109"), Target) Is Nothing Then
  If Target.Value = "Non Installée" Then
    If MsgBox(Prompt:="Attention, vous avez sélectionné (Non Installée), c'est une réserve." & vbCrLf & "Etes-vous sûr ?", Title:="Attention !", Buttons:=vbYesNo) = vbYes Then
        Exit Sub
        Else
        cancel = True
        Target.Select
    End If
  End If
End If
End Sub
Dans tous les autres cas, il serait bon de joindre ta procédure complète.

A +

Cordialement.
 

DoubleZero

XLDnaute Barbatruc
Re : Code DEUX IF a simplifier

Bonjour, chaelie2015, le Forum,

Comme ceci ?

Code:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal c As Range) ' cellules adapter...
    If c.Count > 1 Then Exit Sub
    If c.Address = "$A$1" And c.Value = "toto" Then
        If MsgBox(Prompt:="Attention, vous avez sélectionné (Non Installée), c'est une réserve." & vbCrLf & "Etes-vous sûr ?", _
        Title:="Attention !", Buttons:=vbYesNo) = vbNo Then c.Select
    End If
    If c.Address = "$B$1" And c.Value = "toto" Then
        If MsgBox(Prompt:="Attention, vous avez sélectionné (Non Installée), c'est une réserve." & vbCrLf & "Etes-vous sûr ?", _
        Title:="Attention !", Buttons:=vbYesNo) = vbNo Then c.Select
    End If
End Sub

A bientôt :)

P. S. : Bonjour + bises, Pap:Du-net
 
Dernière édition:

Statistiques des forums

Discussions
312 069
Messages
2 085 040
Membres
102 763
dernier inscrit
NICO26