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
ben il a tout le temps qu'il veut
j'avais fait ça ,en attendant
VB:
Private Sub Ajout_Click()
    Dim ok As Boolean
       

        'ActiveSheet.Unprotect ("5158")

        ok = IsDate(DateConsultation.Value)

        If Not ok Then MsgBox "Veuillez saisir le champs date SVP": Exit Sub

        With Sheets("devis")
  fin = .Range("b" & .Rows.Count).End(xlUp).Row  


            .Range("j16") = CDate(DateConsultation.Value)
            .Range("B" & fin + 1) = nom.Value
            .Range("C" & fin + 1) = CDate(DateConsultation.Value)
            .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

            'validation puis aller dans la feuille devis
            .Activate
        End With
        'ActiveSheet.Protect Password:="5158"

        Unload Me

    End With

End Sub
merci à vous
 

patricktoulon

XLDnaute Barbatruc
@Yeahou
oui j'ai vu après
je te laisse la main
@alain.pierrephie

désolé pour mon franc parler
je n'ai pas dit que tu étais null ,j'ai dis que ton niveau en vba n’était pas assez haut pour monter un interface dans une forme ça c'est une vérité

a tous les deux
transformez moi ces plages en tableau structuré leur acces seront plus aisé et accessible a un debutant car les codes sont plus simples
 

alain.pierrephie

XLDnaute Occasionnel
@Yeahou
oui j'ai vu après
je te laisse la main
@alain.pierrephie

désolé pour mon franc parler
je n'ai pas dit que tu étais null ,j'ai dis que ton niveau en vba n’était pas assez haut pour monter un interface dans une forme ça c'est une vérité

a tous les deux
transformez moi ces plages en tableau structuré leur acces seront plus aisé et accessible a un debutant car les codes sont plus simples
J'en veux à personne et je sais que mon VBA n'est pas au top. Je fait de mon mieux pour aider quelqu'un de ma famille.
Bonne semaine
 

patricktoulon

XLDnaute Barbatruc
en attendant voilà a quoi ressemberait le code si tu utilisait des tableaux structurés
VB:
Private Sub Ajout_Click()
    Dim ok As Boolean,r as range
    'ActiveSheet.Unprotect ("5158")
    ok = IsDate(DateConsultation.Value)
    If ok Then
        Set r = Range("Tsauvegarde").ListObject.ListRows.Add.Range
        r.Value = Array(nom, CDate(DateConsultation.Value), prenom, "", telephone, mail, adresse, designation1, montant1, designation2, montant2, designation3, montant3)
     With Sheets("devis")
        .Activate
        .Range("j16") = CDate(DateConsultation.Value)
    End With
    'ActiveSheet.Protect Password:="5158"
    Unload Me
End Sub
 

alain.pierrephie

XLDnaute Occasionnel
en attendant voilà a quoi ressemberait le code si tu utilisait des tableaux structurés
VB:
Private Sub Ajout_Click()
    Dim ok As Boolean,r as range
    'ActiveSheet.Unprotect ("5158")
    ok = IsDate(DateConsultation.Value)
    If ok Then
        Set r = Range("Tsauvegarde").ListObject.ListRows.Add.Range
        r.Value = Array(nom, CDate(DateConsultation.Value), prenom, "", telephone, mail, adresse, designation1, montant1, designation2, montant2, designation3, montant3)
     With Sheets("devis")
        .Activate
        .Range("j16") = CDate(DateConsultation.Value)
    End With
    'ActiveSheet.Protect Password:="5158"
    Unload Me
End Sub
Oui effectivement c'est plus propre
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
re,

@alain.pierrephie , je n'ai pas le temps aujourd'hui de tout reprendre mais @patricktoulon est un programmeur très performant et très expérimenté, un peu rugueux et égocentrique parfois ;)
😆 , mais quand on arrive à le supporter, surtout au début 🤣, il est terriblement efficace, talentueux même, il rend toujours service et peut mêne finir par devenir très agréable à fréquenter quand il le veut bien.

Bonne continuation
 

alain.pierrephie

XLDnaute Occasionnel
re,

@alain.pierrephie , je n'ai pas le temps aujourd'hui de tout reprendre mais @patricktoulon est un programmeur très performant et très expérimenté, un peu rugueux et égocentrique parfois ;)
😆 , mais quand on arrive à le supporter, surtout au début 🤣, il est terriblement efficace, talentueux même, il rend toujours service et peut même finir par devenir très agréable à fréquenter quand il le veut bien.

Bonne continuation
Je ne doute ni de sa performance ni de sa "rugosité" ni de sa gentillesse. Quant à son égocentrisme sur le sujet il est tout a fait légitime puisque s'il en est arrivé là c'est qu'il a bossé. Dans mon domaine je suis le référent officiel en cancérologie et il est vrai qu'on attrape vite le boulard. La leçon que je viens de recevoir ce matin me fait du bien. Je devrais même le remercier, mon égo s'en remettra.
 

patricktoulon

XLDnaute Barbatruc
il y a une autre truc qui me chagrine aussi
tes combobox nom et prenom
si je ne me trompe pas quand on sélectionne par exemple bocket1 on devrait avoir automatiquement patricia1 dans la combo prenom
sinon c'est pas cohérent non???????
du genre comme ça
demo.gif

veux tu que je corrige ce point aussi ?
 
Dernière édition:

alain.pierrephie

XLDnaute Occasionnel
il y a une autre truc qui me chagrine aussi
tes combobox nom et prenom
si je ne me trompe pas quand on sélectionne par exemple bocket1 on devrait avoir automatiquement patricia1 dans la combo prenom
sinon c'est pas cohérent non???????
veux tu que je corrige ce point aussi ?
J'ai vérifié et tout est ok. Pour le devis j'ai été cohérent mais pour le formulaire j'ai pas été cohérent mais ça me charge en tout cas ce qui est dans mon formulaire facture.
 

alain.pierrephie

XLDnaute Occasionnel
il y a une autre truc qui me chagrine aussi
tes combobox nom et prenom
si je ne me trompe pas quand on sélectionne par exemple bocket1 on devrait avoir automatiquement patricia1 dans la combo prenom
sinon c'est pas cohérent non???????
du genre comme ça
Regarde la pièce jointe 1119309
veux tu que je corrige ce point aussi ?
Si tu peux je veux bien c'est trop gentil a toi de m'aider
 

Discussions similaires