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
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
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.
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.
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.
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
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
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
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
Je ne demande pas d'aide ici juste pour m'entendre dire que c'est du n'importe quoi mais JUSTE pour être aidé dans quelque chose que je ne connais pas.
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
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
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
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