Autres Mettre une alerte si la textbox n'est pas remplie

alain.pierrephie

XLDnaute Occasionnel
Bonjour au forum.
Je galère et essayé mille choses depuis deux jours et de guerre lasse je viens vers vous pour une aide qui vous semblera certainement facile mais qui m’ôtera une épine du pied.
J'explique:
J'ai cela ci joint qui va remplir une feuille et j'aimerai que si la personne ne remplie pas celle que je vous aie isolée c'est a dire la date afin d'éviter le débogage, il puisse y avoir un message du style "Veuillez remplir la date de consultation";
j'ai créé un label mais a chaque fois que je teste avec oubli de remplir la date j'ai bien mon alerte dans le label mais il y a aussi le débogage.
Si une bonne âme pouvais voir cela.
Merci à vous tous
Alain

-----------------------------------------O----------------------------------------------------


Private Sub Ajout_Click()
With Sheets("SAUVEGARDE")
'ActiveSheet.Unprotect ("5158")
fin = .Range("b" & .Rows.Count).End(xlUp).Row
.Range("B" & fin + 1) = nom.Value



.Range("C" & fin + 1) = CDate(DateConsultation.Value) ----> ALERTE SUR CET FORMULE



.Range("D" & fin + 1) = prenom.Value
.Range("F" & fin + 1) = telephone.Value
.Range("G" & fin + 1) = mail.Value
.Range("H" & fin + 1) = adresse.Value
.Range("I" & fin + 1) = designation1.Value
.Range("J" & fin + 1) = montant1.Value
.Range("K" & fin + 1) = designation2.Value
.Range("L" & fin + 1) = montant2.Value
.Range("M" & fin + 1) = designation3.Value
.Range("N" & fin + 1) = montant3.Value

With Sheets("devis")

.Range("j16") = CDate(DateConsultation.Value)

'validation puis aller dans la feuille devis
Sheets("devis").Activate

'ActiveSheet.Protect Password:="5158"

Unload Me

End With
End With
End Sub
 

alain.pierrephie

XLDnaute Occasionnel
et oui ca fait partie des control qu'il faut ajouter maintenant pour blinder les variable et les valeur
cdbl plante si c'est pas numeric ou si c'est vide donc on place le controle

change cette sub
VB:
'les quatres  boutons d'en bas
Private Sub Ajout_Click()
    Dim Ok As Boolean, DevNumber&, r As Range, critere

    critere = nom <> "" And prenom <> "" And telephone <> "" And mail <> "" And adresse <> ""
    If Not critere Then MsgBox "Veuillez saisir tous les champs SVP!!": Exit Sub
    'sheets("Sauvegarde").Unprotect ("5158")
    Ok = IsDate(DateConsultation.Value)
    If Ok Then
        Set r = Range("Tsauvegarde").ListObject.ListRows.Add.Range
        MsgBox r.Address
        DevNumber = Application.Max(Range("tsauvegarde[N° Devis]")) + 1
        r.Value = Array(nom, CDate(DateConsultation.Value), prenom, DevNumber, telephone, mail, adresse, _
                        designation1, iff(IsNumeric(montant1), CDbl(montant1), ""), _
                        designation2, IIf(IsNumeric(montant2), CDbl(montant2), ""), _
                        designation3, IIf(IsNumeric(montant3), CDbl(montant3), ""))
        With Sheets("devis")
            .Activate
            .Range("j16") = CDate(DateConsultation.Value)
            .[k7] = nom
            .[L10] = prenom
            .[H3] = DevNumber
            .[j13] = adresse
            .[j16] = CDate(DateConsultation.Value)
            .[A21:A23] = Application.Transpose(Array(designation1, designation2, designation3))
            .[M21:M23] = Application.Transpose(Array(montant1, montant2, montant3))

        End With
        'sheets("sauvegarde").Protect Password:="5158"
        If Clientexistant.ListIndex = -1 Then
            Set r = Range("tclient").ListObject.ListRows.Add.Range
            r.Value = Array(nom, prenom, adresse, telephone, mail)
            MsgBox "leclient n'existait pas dans la base de donnée " & vbCrLf & "il a été ajouté "
        End If
        Unload Me
    End If
End Sub
OK ça devrait le faire. Je te remercie beaucoup d'avoir pris de ton temps pour t'occuper de mon gloubi boulga VBA. Je te souhaite une bonne semaine et si j'ai un truc qui cloche et que j'arrive pas a le faire, promis je demande à un pro. Merci encore
alain
 

patricktoulon

XLDnaute Barbatruc
bon voila la version 4
j'ai encore supprimer 2 userforms devenu inutile
l'usf ajout de client sert pour modifier aussi
si on selectionne un client on peut modifier ses coordonnées
si on tape ça ajoute
j'ai bien entendu apporté les corrections précedemment citées dans mes précédents messages concernant l'usf devis
 

Pièces jointes

  • Formulaire clients Sylvain Coët patrick toulon V 4.xlsm
    925.2 KB · Affichages: 13

alain.pierrephie

XLDnaute Occasionnel
bon voila la version 4
j'ai encore supprimer 2 userforms devenu inutile
l'usf ajout de client sert pour modifier aussi
si on selectionne un client on peut modifier ses coordonnées
si on tape ça ajoute
j'ai bien entendu apporté les corrections précedemment citées dans mes précédents messages concernant l'usf devis
Je remplie et ça me fait ça je fait OK et ... débogage
dur dur le VBA alors imagine pour moi.

1635195735646.png
 

alain.pierrephie

XLDnaute Occasionnel
quel debogage?????
si tu me dis pas ou ça coince ça va pas être facile
Punaise oui désolé...

r.Value = Array(nom, CDate(DateConsultation.Value), prenom, DevNumber, telephone, mail, adresse, _
designation1, IIf(IsNumeric(montant1.Value), CDbl(montant1.Value), ""), _
designation2, IIf(IsNumeric(montant2.Value), CDbl(montant2.Value), ""), _
designation3, IIf(IsNumeric(montant3.Value), CDbl(montant3.Value), ""))
 

Discussions similaires

Statistiques des forums

Discussions
315 108
Messages
2 116 278
Membres
112 711
dernier inscrit
EBEUR