Créer une boîte de dialogue avec une recherche

Bonjour amis excel....eurs,

Je suis débutant en vba, et j'aurais bien besoin d'aide.

J'ai créé un userform dans lequel je demande à l'utilisateur de saisir des données via des combobox ainsi que via des textbox.

Au final, je voudrais qu'en appuyant sur un commandbouton qui enregistre les données saisies, une boîte de dialogue indique " vous ne pouvez pas enregistre car un ou plusieurs champs ne sont pas saisis". Et indiquer le ou les champs non saisis. Et si tous les champs sont saisis les enregistrer via une macro que je vais créer.

Je ne sais pas si je suis très explicite.

Merci à vous pour votre aide et votre implication.

Stéphane.

Bonjour,

Voici une proposition, pour textbox et combobox, ces 2 codes à placer dans un module normal :

Sub test()

Dim ctrl As Control, n%, manquants()

For Each ctrl In UserForm1.Controls
    If HasValue(ctrl) Then
        If ctrl.Value = "" Then
            ReDim Preserve manquants(n)
            manquants(n) = ctrl.Name
            n = n + 1
        End If
    End If
Next ctrl

If n > 0 Then
    MsgBox "Veuillez remplir les champs : " & vbLf & vbLf & Join(manquants, " - "), vbCritical, "Saisie incomplète"
    Exit Sub
Else
    'Call LAMACROACREER
End If

End Sub

Function HasValue(ctrl As Control) As Boolean
On Error Resume Next
HasValue = (ctrl.Value = ctrl.Value)
End Function

Il vous reste à créer la macro à exécuter si tous les champs sont remplis.

Cdlt,

Rechercher des sujets similaires à "creer boite dialogue recherche"