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
 

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
OK je regarde ce que je peux faire je reviens dans quelques minutes. Merci à vous
 

alain.pierrephie

XLDnaute Occasionnel
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
Je veux bien
 

alain.pierrephie

XLDnaute Occasionnel
Merci beaucoup j'essaye ça de suite
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re,

j'ai modifié le code du post 6, votre + 1 peut être placé plus judicieusement.
si vos protect/unprotect se référent à la feuille sauvegarde, enlevez Activesheet en laissant le point

Bien cordialement, @+
 

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

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