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
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour alain.pierrephie, le forum

Mettez votre code dans une balise (bouton </>) ou ajoutez un fichier exemple, là, ça pique les yeux, le code est sorti de son contexte, nous n'avons pas d'indentation et on ne peut savoir si vous avez ajouté
Code:
.Range("C" & fin + 1) = CDate(DateConsultation.Value)   ----> ALERTE SUR CET FORMULE
pour nous informer ou si vous l'avez réellement intégré en l'état à votre code ce qui serait une aberration.

Bien cordialement, @+
 

alain.pierrephie

XLDnaute Occasionnel
Bonjour alain.pierrephie, le forum

Mettez votre code dans une balise (bouton </>) ou ajoutez un fichier exemple, là, ça pique les yeux, le code est sorti de son contexte, nous n'avons pas d'indentation et on ne peut savoir si vous avez ajouté
Code:
.Range("C" & fin + 1) = CDate(DateConsultation.Value)   ----> ALERTE SUR CET FORMULE
pour nous informer ou si vous l'avez réellement intégré en l'état à votre code ce qui serait une aberration.

Bien cordialement, @+
OK je regarde ce que je peux faire je reviens dans quelques minutes. Merci à vous
 

alain.pierrephie

XLDnaute Occasionnel
Bonjour alain.pierrephie, le forum

Mettez votre code dans une balise (bouton </>) ou ajoutez un fichier exemple, là, ça pique les yeux, le code est sorti de son contexte, nous n'avons pas d'indentation et on ne peut savoir si vous avez ajouté
Code:
.Range("C" & fin + 1) = CDate(DateConsultation.Value)   ----> ALERTE SUR CET FORMULE
pour nous informer ou si vous l'avez réellement intégré en l'état à votre code ce qui serait une aberration.

Bien cordialement, @+
Voilà/
Dans l'onglet "clients" il y a le bouton "DEVIS"
Faire la recherche d'un nouveau client avec le menu déroulant, en choisir un et faire "aller"
puis faire "Ajout" en oubliant la "date du devis"
il va y avoir un débogage et c'est ce que je veux éviter.
J'espère que c'est complet, merci à toi
 

patricktoulon

XLDnaute Barbatruc
Bonjour
holala!!!!!!! c'est du grand n'importe quoi
je crains fort que ton niveau VBA ne te permette pas encore en l'etat actuel de developper un interface avec une forme
y a trop d'erreur partout
ca ressemble a du copier coller au hasard ;)
tu peux m'explique ce que tu fait dans le bloc with de la feuille sauvegarde avec un with une autre feuille dedans ???

tu peux m'expliquer aussi pourquoi un event se retrouve a l’intérieur d'un autre event
du genre ceci
VB:
'imposer les majuscules
Private Sub UserForm_Click()
Private Sub nom_keypress(ByVal keyacii As MSForms.ReturnInteger)
keyacii = Asc(UCase(Chr(keyacii)))
End Sub
et j'en passe et des meilleures ;)

on reprend tout à zéro tu veux bien ?
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re,

Voila, j'ai indenté votre code, mis une alerte, corrigé vos With/End With qui ne doivent pas se chevaucher sauf si la première est parente.

Bien cordialement, @+
VB:
Private Sub Ajout_Click()

If Not IsDate(DateConsultation.Value) Then MsgBox "Veuillez entrez une date de consultation valide", vbOKOnly + vbInformation: Me.DateConsultation.SetFocus: Exit Sub
Dim Fin&
With Sheets("SAUVEGARDE")
   
    'ActiveSheet.Unprotect ("5158")
   
    Fin = .Range("b" & .Rows.Count).End(xlUp).Row + 1
    .Range("B" & Fin) = nom.Value
    .Range("C" & Fin) = CDate(DateConsultation.Value)
    .Range("D" & Fin) = prenom.Value
    .Range("F" & Fin) = telephone.Value
    .Range("G" & Fin) = mail.Value
    .Range("H" & Fin) = adresse.Value
    .Range("I" & Fin) = designation1.Value
    .Range("J" & Fin) = montant1.Value
    .Range("K" & Fin) = designation2.Value
    .Range("L" & Fin) = montant2.Value
    .Range("M" & Fin) = designation3.Value
    .Range("N" & Fin) = montant3.Value
'ActiveSheet.Protect Password:="5158"
End With

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

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



Unload Me

End Sub
 
Dernière édition:

alain.pierrephie

XLDnaute Occasionnel
Bonjour
holala!!!!!!! c'est du grand n'importe quoi
je crains fort que ton niveau VBA ne te permette pas encore en l'etat actuel de developper un interface avec une forme
y a trop d'erreur partout
ca ressemble a du copier coller au hasard ;)
tu peux m'explique ce que tu fait dans le bloc with de la feuille sauvegarde avec un with une autre feuille dedans ???

tu peux m'expliquer aussi pourquoi un event se retrouve a l’intérieur d'un autre event
du genre ceci
VB:
'imposer les majuscules
Private Sub UserForm_Click()
Private Sub nom_keypress(ByVal keyacii As MSForms.ReturnInteger)
keyacii = Asc(UCase(Chr(keyacii)))
End Sub
et j'en passe et des meilleures ;)

on reprend tout à zéro tu veux bien ?
Je veux bien
 

alain.pierrephie

XLDnaute Occasionnel
Re,

Voila, j'ai indenté votre code, mis une alerte, corrigé vos With/End With qui ne doivent pas se chevaucher sauf si la première est parente.

Bien cordialement, @+
VB:
Private Sub Ajout_Click()

If Not IsDate(DateConsultation.Value) Then MsgBox "Veuillez entrez une date de consultation valide", vbOKOnly + vbInformation: Me.DateConsultation.SetFocus: Exit Sub
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)
    .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
End 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 Sub
Merci beaucoup j'essaye ça de suite
 

patricktoulon

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

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
ben il a tout le temps qu'il veut
j'avais fait ça ,en attendant
VB:
Code:
Private Sub Ajout_Click()
    Dim ok As Boolean
    With Sheets("SAUVEGARDE")    'ça sert a quoi ça???????
        fin = .Range("b" & .Rows.Count).End(xlUp).Row    'ça sert a quoi ça ??????

        'ActiveSheet.Unprotect ("5158")

        ok = IsDate(DateConsultation.Value)

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

        With Sheets("devis")

            .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 With    '??????????????????
End Sub
Re,
Patrick, dans le code originel, les valeurs sont placées sur la feuille sauvegarde, il y a un double with/end with mal montés dont le deuxième n'est pas nécessaire, une seule valeur écrite sur la feuille devis
à lui de nous dire si c'est bien sur la feuille sauvegarde ou sur la feuille devis qu'il faut écrire
 

alain.pierrephie

XLDnaute Occasionnel
Re,

Voila, j'ai indenté votre code, mis une alerte, corrigé vos With/End With qui ne doivent pas se chevaucher sauf si la première est parente.

Bien cordialement, @+
VB:
Private Sub Ajout_Click()

If Not IsDate(DateConsultation.Value) Then MsgBox "Veuillez entrez une date de consultation valide", vbOKOnly + vbInformation: Me.DateConsultation.SetFocus: Exit Sub
Dim Fin&
With Sheets("SAUVEGARDE")
 
    'ActiveSheet.Unprotect ("5158")
 
    Fin = .Range("b" & .Rows.Count).End(xlUp).Row + 1
    .Range("B" & Fin) = nom.Value
    .Range("C" & Fin) = CDate(DateConsultation.Value)
    .Range("D" & Fin) = prenom.Value
    .Range("F" & Fin) = telephone.Value
    .Range("G" & Fin) = mail.Value
    .Range("H" & Fin) = adresse.Value
    .Range("I" & Fin) = designation1.Value
    .Range("J" & Fin) = montant1.Value
    .Range("K" & Fin) = designation2.Value
    .Range("L" & Fin) = montant2.Value
    .Range("M" & Fin) = designation3.Value
    .Range("N" & Fin) = montant3.Value
'ActiveSheet.Protect Password:="5158"
End With

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

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



Unload Me

End Sub
Merci beaucoup YEAHOU c'st exactement ce que je voulais et pas plus. Merci aussi de ne pas m'avoir dit que j'étais nul ou pas bon que c'était mauvais ou autres joyeusetés. Je suis pertinemment au courant que le VBA est difficile pour celui qui ne connait pas. Je suis infirmier et spécialisé en cancéro pneumo gastro mais pas programmeur mais je cherche simplement à aider un membre de ma famille avec mes moyens. Merci à toi et j'en veux évidemment à personne. Bonne semaine à toi l'ami
Alain
Re,
Patrick, dans le code originel, les valeurs sont placées sur la feuille sauvegarde, il y a un double with/end with mal montés dont le deuxième n'est pas nécessaire, une seule valeur écrite sur la feuille devis
J'ai modifié merci
 

Discussions similaires

Statistiques des forums

Discussions
312 094
Messages
2 085 240
Membres
102 832
dernier inscrit
kirale