Alerte avant validation

chaelie2015

XLDnaute Accro
Bonjour Forum
Je souhaite afficher un message « Attention, c’est un doublon ; voulez vous contenu ? » avant la validation ,Si la valeur saisie dans le textbox1 de UserForm2 existe dans la colonne L de la feuille « BdD »
Code:
Private Sub CommandButton1_Click()

Sheets("INTERIM").Range("C8") = TextBox1.Value 
Sheets("BdD").Range("L" & Sheets("BdD").Range("L" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox1.Value & "/KDT.RH/" & Year(Date)

Unload UserForm2
End Sub
Salutations
 

Papou-net

XLDnaute Barbatruc
Re : Alerte avant validation

Bonjour chaelie2015,

Je verrais bien quelque chose dans ce style:

Code:
Private Sub CommandButton1_Click()

Set d = Sheets("BdD").Columns(12).Find(UserForm2.TextBox1.Value, LookIn:=xlValues)
If Not d Is Nothing Then
  If MsgBox("Attention, c'est un doublon ; voulez-vous continuer ?", vbOKOnly) = vnbo Then Exit Sub
End If

Sheets("INTERIM").Range("C8") = TextBox1.Value
Sheets("BdD").Range("L" & Sheets("BdD").Range("L" & Cells.Rows.Count).End(xlUp).Row + 1).Select
ActiveCell.Value = TextBox1.Value & "/KDT.RH/" & Year(Date)

Unload UserForm2
End Sub
A +

Cordialement.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Alerte avant validation

Bonjour le fil, bonjour le forum,

Un peu en retard !.. Tant pis j'envoie quand même...

Code:
Private Sub CommandButton1_Click()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim VC As String 'déclare la variable VC (Valeur Cherchée)
Dim R As Range 'déclare la variable R (Recherche)

Set O = Worksheets("BdD") 'définit l'onglet O
Sheets("INTERIM").Range("C8") = TextBox1.Value
VC = TextBox1.Value & "/KDT.RH/" & Year(Date) 'définit la valeur cherchée VC
Set R = O.Columns(12).Find(VC, , xlValues, xlWhole) 'définit la recherche R
If Not R Is Nothing Then 'condition 1 : si au moins une occurrence est trouvée
    'condition 2 : si "Oui" au message
    If MsgBox("Attention, c'est un doublon ! Voules-vous continer ?", vbYesNo, "ATTENTION") = vbYes Then
        'renvoie la valeur cherchée dan sla dernière ligne éditée de la colonne 12 (=L) de l'onglet O
        O.Range("L" & Application.Rows.Count).End(xlUp).Offset(1, 0).Value = VC
    End If 'fin de la condition 2
Else 'sinon (condition 1 : aucune occurrence trouvée)
    'renvoie la valeur cherchée dan sla dernière ligne éditée de la colonne 12 (=L) de l'onglet O
    O.Range("L" & Application.Rows.Count).End(xlUp).Offset(1, 0).Value = VC
End If 'fin de la condition 1

Unload UserForm2
End Sub
 

chaelie2015

XLDnaute Accro
Re : Alerte avant validation

Bonjour Papou-net
merci pour la réponse et la correction, mais dans le cas ou je n'accepte pas le doublon ?
si non je reviens a mon Textbox1 pour modifier
a+
edit : Sorry Robert je n'ai pas vu ton message
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Alerte avant validation

Re,

Oui tu as raison, si tu n'acceptes pas le doublon il te faut rajouter :

Code:
With Me.TextBox1
   .SetFocus
   .SelStart = 0
   .SelLength = Len(.Value)
End With
Exit sub

avant le Unload UserForm2...
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin