Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

patricktoulon

XLDnaute Barbatruc
bon voila une ebauche elle est pas fini il faut blinder les variable et tout et tout
et vérifier les formule dans la feuille devis ,quoi que je l'aurais bien fait par vba
1° l'enrigistrement dans sauvegarde est effectif
2° la date dans devis aussi
3° la numerotaion devis est automatique aussi
4° tu a soit la recherche client ou tu tape les données j'ajouterais par la suite enregistrement dans client si c'est un nouveau client tapé
5° interface clean pas surchargé ( et il pique ps les yeux )
je reviens tout a l'heure dans une petite demie heure j'ai une petite inter a coté de chez moi

entendons nous bien c'est une ebauche hein il n'est pas fini
il y aura quelque restriction a mettre dans les textbox pour ne pas taper n'importe quoi et 2/3 petites choses comme ça

des que je reviens je regarde pourquoi les formule ne retranscrivent pas dans le devis ou peut etre @Yeahou si il repasse par là
 

Pièces jointes

  • Formulaire clients Sylvain Coët patrick toulon V 3.xlsm
    923.8 KB · Affichages: 10

alain.pierrephie

XLDnaute Occasionnel
Merci a toi je vais regarder mais je sais que c'est pas terminé, quand je pense que ça fait un mois que je suis dessus. Merci beaucoup
 

patricktoulon

XLDnaute Barbatruc
et oui comme l'a dit @Yeahou rugueux egocentrique mais efficace
j'ai presque terminé j'ai encore avancé
j'ai fait aussi l'userform ajout de client aussi ,bien qu'il est devenu obsolète puisque j'ai ajouté dans le userform devis l'enregistrement automatique si c'est un nouveau client qui a été tapé
ca sera tout totomatic!!
 

patricktoulon

XLDnaute Barbatruc
oui j'ai trouvé la belugue
dans une heure je te donne ton nouveau fichier
j'ai netoyer(supprimé) des modules
j'ai ajouté un bouton imprimer direct dans le userform
bref j'en ai tellement fait que je ferait la liste plus tard

une petite chose même si on te dis le contraire ( ou que tu peux le faire) ne le fait pas!!!
je parle de coder des sub du même nom dans plusieurs module surtout qu'elles son sensées faire des choses différentes on s’emmêle vite les pinceaux
 

alain.pierrephie

XLDnaute Occasionnel
OK message reçu pour les sub. Je suppose que le nettoyage a été difficile, je m'en doute étant donné que ce que j'ai fait était de la débrouille avec internet, des heures pour comprendre des codages simples mais c'était pour aider. Mais je crois que je retenterais plus cette expérience de codage. J'attend de recevoir ton fichier et s'il y a des choses qui vont pas je reviendrais vers toi ou alors j'essaierai de me débrouiller seul. A plus tard l'ami merci infiniment pour Sylvain.
 

patricktoulon

XLDnaute Barbatruc
tiens en attendant voici le fichier
1° userform devis
-> ok
on a une combo pour choper les client connu sinon tu tape
tu a le calendrier intégré
si tu ajoute et que le nom prenom que tu a tapé n'existe pas il est automatiquement enrgistré dans la BDD liste client sinon non
tu a un bouton imprimer pour imprimer le devis direct du userform
la sauvegarde est automatique aussi
en gros le bouton ajout sauvegarde et rempli en même temps la feuille devis
2° userform ajout client ok
si tu tape un existant le message va te le dire sinon il enregistre le nouveau client
bon j'ai virer un peu toute ces couleur playscool , ça pique les yeux
le fiston sera content
je continu quand même la chose car j'ai pas regarder le userform facture encore j'ai peur

qu'est ce que tu dis de ca ?
 

Pièces jointes

  • Formulaire clients Sylvain Coët patrick toulon V 3.xlsm
    911.1 KB · Affichages: 14

alain.pierrephie

XLDnaute Occasionnel
Je regarde et reviens vers toi. Merci a de suite
 

alain.pierrephie

XLDnaute Occasionnel
Débogage pour le devis lorsque je remplie tout et que je fait ajouter
 

patricktoulon

XLDnaute Barbatruc
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
 

patricktoulon

XLDnaute Barbatruc
ajoute ca aussi dans le userform à la fin après le code existant
ca va forcer la saisie numerique dans les montants
Code:
Private Sub montant1_KeyPress(ByVal keyascii As MSForms.ReturnInteger): controlkey keyascii: End Sub
Private Sub montant2_KeyPress(ByVal keyascii As MSForms.ReturnInteger): controlkey keyascii: End Sub
Private Sub montant3_KeyPress(ByVal keyascii As MSForms.ReturnInteger): controlkey keyascii: End Sub
Sub controlkey(keyascii)
If keyascii = 46 Then keyascii = 44
If keyascii = 44 And Len(ActiveControl.Value) = 0 Then keyascii = 0
If Chr(keyascii) Like "[!0-9|,]" Then keyascii = 0
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…