MsgBOX continu

Bonjour à tous !

Novice dans le domaine, j'essaye de faire apparaître un petit code VBA permettant l'apparition d'un message lorsque deux cases ont été remplies.

Concrêtement:

Lorsqu'un utilisateur a rempli les cases B1 et B2 , un message apparait lui indiquant une autre tâche.

Voici ce que je pensais faire:

Private Sub Worksheet_Change(ByVal Target As Range)
    'Variable
    Dim b1 As Integer
    Dim b2 As Integer

    b1 = Range("B1")
    b2 = Range("B2")

    'Commentaire en fonction de la case cochée
    If b1 = 1 And b2 = 2 Then
    MsgBox "Veuillez vérifier que vous avez bien complétez toute la colonne"
    End If

End Sub

Voici mes deux problèmes:

1) J'aimerais que le message d'erreur apparaisse lorsque l'utilisateur a entré n'importe quoi (date, texte,..) dans la case. (J'ai essayé avec

If Not b1"" And b2"" Then

mais cela ne fonctionne pas.

2) Lorsque mon message est apparu une première fois, il apparait tout le temps dés que je change n'importe quelle cellule de la feuille. J'imagine que cela veut dire que la boucle n'est pas fermé étant donné que les deux cases restent remplies. Du coup, comment puis-je faire pour sortir de la boucle une fois que ce message est apparu? (j'ai essayé avec une boucle Do while puis If avec exit Do mais rien n'y fait).

D'avance un tout tout grand merci pour l'aide que vous allez m'apporter!

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim b1 As Integer, b2 As Integer
    If Not Intersect(Target, Me.Range("B1:B2")) Is Nothing Then
        b1 = Me.Range("B1"): b2 = Me.Range("B2")
        If b1 = 1 And b2 = 2 Then
            MsgBox "Veuillez vérifier que vous avez bien complétez toute la ligne"
        Else
            'Message d'erreur
        End If
    End If
End Sub

Note que B1 et B2 sont sur deux lignes différentes : ton premier message est-il bien clair ?

Wow,

Merci pour la rapidité de ta réponse!

Mon deuxième problème est résolu, quand est-il de mon premier problème? Sais-tu comment je peux faire modifier mon code afin de faire apparaître le message si la B1 et la B2 sont remplies avec n'importe quelles valeurs (0, a,..).

Voici ce que j'ai tenté mais ca ne fonctionne pas:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim b1 As Integer
    Dim b2 As Integer

    If Not Intersect(Target, Me.Range("B1:B2")) Is Nothing Then
        b1 = Me.Range("B1")
        b2 = Me.Range("B2")

            If Not b1 ="" And b2 = "" Then
            MsgBox "Veuillez vérifier que vous avez bien completé l'entièreté de la colonne"
            End If
    End If

End Sub

1) Relis la procédure que j'ai communiquée précédemment.

2) Tu ferais bien de vérifier ta condition ! J'ai quelques doutes qu'elle réponde à ce que tu souhaites (et si c'était le cas, c'est ton raisonnement qui me paraît incohérent !)

Cordialement.

Rechercher des sujets similaires à "msgbox continu"