Masque de saisie, saisie cellule oligatoire

Bonsoir, Bonsoir,

Je vous demande de l'aide. Pour le masque de saisie en pièce jointe, j'ai quelques points à vous solliciter:

- je voudrais rendre la saisie des informations en JAUNE obligatoire avant la confirmation de l'enregistrement. En exigeant la saisie d'une cellule JAUNE avant de passer à une autre cellule par exemple, avec un petit message "veuillez saisir le Nom, le sexe...)

- bloquer l'écran pour qu'il soit fixe, j'arrive à protéger la feuille contre l'écriture à des endroits en dehors du masque. Mais l'on peut toujours se balader sur la feuille jusqu'à faire disparaitre le masque de l'écran.

Portez vous bien

Hello,

Voici une première proposition.

Dis moi si tu veux que je mette des commentaires.

R@g

Bonjour,

une variante de l'excellent code de Rag ci-dessus (et tel que j'ai compris le sujet)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim plage As Range, cel As Range, retour As Range
Dim Resultat_Manquant As String

    Set plage = Union(Range("$E$6"), Range("$E$8"), Range("$E$10"), Range("$E$16"), Range("$E$20"))
    If Intersect(Target, plage) Is Nothing Then Exit Sub

    Set retour = Nothing
    Resultat_Manquant = "Veuillez renseigner au préalable la liste des champs ci-dessous : " & vbNewLine
    For Each cel In plage
        If Target.Address = cel.Address Then Exit For
        If cel.Value = "" Then
            Resultat_Manquant = Resultat_Manquant & vbNewLine & cel.Offset(0, -3).Value
            If retour Is Nothing Then Set retour = cel
        End If
    Next
    If Not retour Is Nothing Then
        MsgBox Resultat_Manquant
        retour.Select
    End If

End Sub

Bonsoir chers amis,

Je vous remercie infiniment de vos retours. J'essayerai dès demain de rapprocher ces informations à mon cas concret.

Rag02700, oui pour les commentaires, je suis preneur.

Néanmoins, je suis extrêmement désolé car 'est de ma faute, j'ai oublié de l'indiquer, le Matricule se génère automatiquement dès que j'ouvre le masque. Il y a une incrémentation du matricule. c'est à tel que j'utilise mon outil actuellement, dès que j'active le masque de saisie, le Matricule attribué au nouvel adhérent s'affiche et je saisis les autres infos. Le souci que j'ai c'est que si je ne saisis aucune autre information et que j'appuie sur CONFIRMER, il m'enregistre le Matricule et les autres champs restent en blanc.

Alors, je ne sais pas si vos contributions ainsi faites, empêcheront le Matricule de se générer ou non

Bien à vous tous

Bonsoir à tous,

Désolé mais je ne vois pas où est ce que je peux indiquer que j'ai eu une réponse satisfaisante, mon problème est résolu

Cordialement

Bonsoir,

Résolu,

Merci à vous tous

Cordialement

Bonsoir à vous,

Encore une fois merci à vous, Steelson, Rag02700 et merci à tous les membres.

Je reviens vers vous sur ce sujet car j'ai un à 2 petits soucis.

En fait, j'ai un menu principal avec plusieurs choix dont celui de la saisie d'un nouvel adhérent objet de ce post.

1) Le souci est que dès que je clique sur le choix "saisie nouvel adhérent" et que je me trouve sur le masque de saisie où j'ai logée la macro, le message s'affiche "Resultat_Manquant...". donc je dois cliquer ok ok ok ok à plusieurs fois avant de commencer la saisie.

Or a priori il devrait s'afficher si je veux passer à une cellule avant de saisir une cellule obligatoire. Je ne sais pas si c'est clair.

2) si je ne remplis pas certaines cellules dont la saisie est obligatoire et que je clique sur "confirmation", l'enregistrement s'effectue quand même avec des infos incomplètes.

Bref:

Mon souhait est de :

- afficher le masque de saisie sans le Message "Resultat_Manquant" . Ce message devrait s'afficher lorsque je veux sauter une cellule à saisie obligatoire

- si j'appuie sur "CONFIRMATION" ne pas pouvoir enregistrer si au moins une cellule obligatoire n'est pas saisie

- si je ne veux pas continuer la saisie, je quitterai avec l'autre bouton "RETOUR AU MENU D'ACCUEIL"

Oui dans le masque de saisie j'ai 2 boutons: 1) CONFIRMATION pour enregistrer les infos saisies 2) RETOUR pour abandonner la saisie.

Merci infiniment

Prenez soins de vous

Bonjour,

Ces 2 problèmes que tu cites n'ont pas été traités car dans ton fichier il n'y avait pas d macro, et pas d'autres feuilles que celle concernée par la saisie.

Peux-tu nous mettre le complément, ou un extrait de ton fichier actuel pour résoudre ces 2 points ?

Bonjour,

Je vous remercies de votre réactivité.

Ci-joint un extrait du ficher avec macros.

Par exemple dans la liste j'ai pu enregistrer l'Adhérent portant le N° MP004 alors que il manque des infos obligatoire.

Pour infos, le dossier ORIGINAL le matricule se génère automatique

Ben à vous et à vos proches

point 1 :

Sub AjouterAdherent()
'
' AjouterAdherent Macro
'
    Sheets("MASQUE").Select
    Range("E4").ClearContents
    Range("E6").ClearContents
    Range("E8").ClearContents
    Range("E10").ClearContents
    Range("E12").ClearContents
    Range("E14").ClearContents
    Range("E16").ClearContents
    Range("E18").ClearContents
    Range("E20").ClearContents
    Range("E4").Select
End Sub

Point 2

Sub EnregistrerAdhérent()
'
' EnregistrerAdhérent Macro
'
    If testformulaire <> "" Then
        MsgBox testformulaire
        Exit Sub
    End If

' ....................................
'
End Sub

Function testformulaire() As String

    Set plage = Union(Range("$E$6"), Range("$E$8"), Range("$E$10"), Range("$E$16"), Range("$E$20"))
    flag = False: testformulaire = ""
    Resultat_Manquant = "Veuillez renseigner au préalable la liste des champs ci-dessous : " & vbNewLine
    For Each cel In plage
        If cel.Value = "" Then
            Resultat_Manquant = Resultat_Manquant & vbNewLine & cel.Offset(0, -3).Value
            flag = True
        End If
    Next
    If flag Then
        testformulaire = Resultat_Manquant
    End If

End Function

avec le fichier

Merci Steelson merci à vous tus.

ça fonctionne à 125%. Parfait

Cordialement

Rechercher des sujets similaires à "masque saisie oligatoire"