Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Vérifier si code déjà enregistré ce mois

KTM

XLDnaute Impliqué
Bonsoir chers tous
Je voudrais vérifier si mon code est déjà enregistrer le mois indiqué
J'ai essayé le code suivant mais cela ne marche pas avec tous les codes
Veuillez me guider . Merci

VB:
Private Sub CommandButton1_Click()
    Dim plage, c As Range
    Set plage = Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
    For Each c In plage
        If c = UCase(Me.TextBox2.Text) And c.Offset(, 1) = CDate(TextBox1) Then
           MsgBox "Le Patient   " & c & "   Est deja Enregistré pour ce mois  ", 64: TextBox2 = "":  Set plage = Nothing: Exit Sub
        End If
    Next
End Sub
 

KTM

XLDnaute Impliqué
voici mon fichier test
 

Pièces jointes

  • Classeur1.xlsm
    52 KB · Affichages: 11

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @KTM , le Forum

Une autre approche, car je déteste taper dans un UserForm !!!
Du coup tes TextBoxes ne servent plus à grand chose, mais bon....

Si Patrick passe par là, j'ai essayé "removeduplicateX", c'est super, par contre "SortOrder" prend des plombes sur ce fichier...

Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_KTM_Mini_Search_Engine_USF_v00.xlsm
    59.5 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour KTM, Thierry,
Vous pourriez préciser avec quels codes cela ne marche pas ?
J'en ai trouvé un, "1111" qui n'est pas considéré comme une chaîne mais comme un nombre.
alors j'ai triché pour résoudre le problème :
VB:
If c & "/" = UCase(Me.TextBox2.Text) & "/" And c.Offset(, 1) = CDate(TextBox1) Then
Mais y en a t-il d'autres ?
 

KTM

XLDnaute Impliqué
Merci beaucoup
C'est très astucieux et c'est exactement ce que je voulais.
 

job75

XLDnaute Barbatruc
Bonjour KTM, _Thierry, sylvanu,
VB:
Private Sub CommandButton1_Click()
    Dim r As Range
    Set r = Range("A2", Cells(Rows.Count, "A").End(xlUp))
    If r.Row < 2 Then Exit Sub
    For Each r In r
        If UCase(TextBox2) = CStr(r) And LCase(TextBox1) = r(1, 2).Text Then _
            MsgBox "Le Patient " & r & " est dejà enregistré pour ce mois", 64: TextBox2 = "": Exit Sub
    Next
End Sub
Dans TextBox1 le mois doit être entré avec le même format que sur la feuille donc mmm-aa

A+
 

KTM

XLDnaute Impliqué
Merci job75
Votre solution marche aussi!!
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…