contrôle logique sur textbox

guyt

XLDnaute Nouveau
Bonjour à tous,
je reviens vers vous pour solliciter votre aide sur un contrôle logique.

J'ai un USf avec textbox2 qui rempli la 2ème colonne d'une feuille excel : nom des patients.

Est-il possible lors de la saisie d'un nom, d'avoir un message qui indique si le nom du patient a déjà était renseigné dans la base?

Merci par avance pour l'aide précieuse que vous pourrez m'apporter

Bien à vous
 

Pièces jointes

  • essai controle textbox.zip
    51.5 KB · Affichages: 42

Efgé

XLDnaute Barbatruc
Re : contrôle logique sur textbox

Bonjour guyt,
Quelques précisions à l'attention de mes petits camarades de jeu:
Il y a une macro WorkBook.Open, Le mot de passe pour voir le code est "cesame" et la fermeture de l'USF ferme également Excel ...
Bon courage à tous.
Cordialement
J'oubliais : la feuille base de données ne semble pas vraiment annonyme.
 
Dernière édition:
G

Guest

Guest
Re : contrôle logique sur textbox

Bonjour,

efgé:) Heureursement que je l'avais ouvert directement sans l'enregistrer sur disque-> s'ouvre dans une autre instance Excel.

guyt il faut prévenir quand tu fais ce genre de coup! Cela peut être vraiment désagréable!

Ci-dessous, comparaison sur le 'nom et prénom'. Entre le nom, puis le prénom et la fonction vérifie si la personne existe ou non. Si elle existe on est empêché de sortir du dernier textbox modifié (textbox2 ou textbox3)

Code:
Private Function NomPrenomExistent() As Boolean
    If Trim(TextBox2) <> "" And Trim(TextBox3) <> "" Then
        Dim p As Variant
        With Sheets("BD")
            p = Application.VLookup(TextBox2, .Range("B7:C" & .Range("A65536").End(xlUp).Row), 2, False)
            If Not IsError(p) Then NomPrenomExistent = UCase(p) = UCase(TextBox3)
        End With
    End If
End Function
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Cancel = NomPrenomExistent()
   If Cancel Then MsgBox Application.Proper(TextBox2 & " " & TextBox3) & " existe déjà dans la base de données"
End Sub
Private Sub TextBox3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 Cancel = NomPrenomExistent()
 If Cancel Then MsgBox Application.Proper(TextBox2 & " " & TextBox3) & " existe déjà dans la base de données"
End Sub

A+
 

guyt

XLDnaute Nouveau
Re : contrôle logique sur textbox

Bonjour Efgé et Hasco,
Tout d'abord désolé pour le code de fermeture excel.

Ensuite, merci pour votre aide, évidemment cela fonctionne à merveille. Quel talent!

Si je peux abuser, je me retrouve face à un autre problème sur la saisie de date.
Sur le textbox 9 malgrès le masque de saisie (TextBox9.Text = Format(TextBox9.Text, "dd/mm/yyyy")), lors de la validation, il arrive qu'excel m'inverse le jour et le mois.

Auriez-vous une solution à mon problème?

En attendant merci beaucoup pour l'aide que vous m'avez apporté.

Bien à vous
 

guyt

XLDnaute Nouveau
Re : contrôle logique sur textbox

Bonsoir Hasco,

je viens d'adapter les codes pour l'USF qui était sur l'outil joint lors de mon 1er post.
MAIS en fait j'ai plusieurs USF dont 1 autre qui permet de visionner l'ensemble des données et de compléter si besoin. et dans ton code il y a la mention "Then .Cells(Derlgn, 11)" qui correspond à la saisie pour la dernière ligne mais si dans le cas de mon USF3 il s'agit d'une données sur la 2ème ligne sur 4, comment faut-il que je modifie le code?

Merci par avance pour ton aide
 

Pièces jointes

  • essai date.zip
    59.6 KB · Affichages: 24
  • essai date.zip
    59.6 KB · Affichages: 38
  • essai date.zip
    59.6 KB · Affichages: 23
G

Guest

Guest
Re : contrôle logique sur textbox

Re,

.Cells(Derlgn, 11) Je ne l'ai pas tiré de mon chapeau, mais de ton code!

Pour changer un numéro de ligne il suffit de remplacer Derlgn par ne n° idoine.

Eviter de donner des userform qui s'ouvre en plein écran lorqu'on ne maîtrise pas VBA. J'ai du scratcher excel pour pouvoir fermer:mad:

A+
 

guyt

XLDnaute Nouveau
Re : contrôle logique sur textbox

Bonjour Hasco,

désolé pour le désagrément.
Tu as raison, je ne maîtrise pas VBA mais j'essai d'apprendre. Et c'est en forgeant que l'on devient forgeron.

Vous est-il possible de me donner 1 exemple (par ex pour le code du textbox 10 de l'USF 3). Je ne vois pas comment modifier le code.

Merci par avance pour ton aide
 

Efgé

XLDnaute Barbatruc
Re : contrôle logique sur textbox

Bonjour guyt, Bonjour Hasco :),

guyt, puisque Hasco semble avoir "craqué", ce qui est très rare ;) mais justifié dans le cas présent, je te conseil de faire un exemple qui :
  • Ne comporte pas de macro du type "Private Sub Workbook_Open()". (Lien supprimé)
  • Dont le USF ne se met pas en plein écran.
  • Ne comporte aucun mot de passe.
  • Et SURTOUT ne ferme pas l'application à la sortie de quoi que ce soit. (Lien supprimé)
J'ai tenté à plusieur reprises, dans mon coin, de t'aider en ouvrant tes précédents posts, mais les manips sont fastidieuses, longues et inutiles.
Même si je ne suis vraiment pas certain de pouvoir t'aider, si tu souhaite des réponses mets un nouvel exemple.
A te re lire (peut être...)
Cordialement
 

guyt

XLDnaute Nouveau
Re : contrôle logique sur textbox

Re bonjour Efgé,
Excuse-moi Hasco!
Autant pour moi, dans la précipitation de refaire un fichier à partir de celui dont je me serts, j'ai oublié d'enlever les éléments facheux à toute aide.

Avec un grand coup pied au ....., je viens enfin de comprendre et de trouver comment modifier le code. Pour ceux que cela interressera, le fichier est joint.

Merci pour ton aide HASCO

bonne fin de journée
 

Pièces jointes

  • essai date fonctionne.zip
    51.4 KB · Affichages: 37
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 306
Messages
2 087 094
Membres
103 467
dernier inscrit
Pandiska