Doublons dans un userform

  • Initiateur de la discussion Initiateur de la discussion ciree
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

ciree

Guest
Bonjour,
J'ai besoin de créer un petit fichier sérothèque. Je passe par un userform pour remplir mon tableau excel (Numéro de sérothèque, Date ,etc..). Je dois bloquer l'enregistrement de doublon (même boite, même position) à la validation de mon userform.
Merci pour votre aide.
cirée
 

Pièces jointes

Re : Doublons dans un userform

Bonjour.
Si ça vous intéresse j'ai un module qui fabrique des listes classées sans doublons imbriquées avec conservation des numéros de lignes où ils apparaissent.
Ça vous permettrait d'utiliser des ComboBox pour le numéro et la boîte et de savoir dès la saisie si la ligne existe
À +
 
Re : Doublons dans un userform

Je vous propose d'abord un classeur d'illustration muni du module MSansDoublon et du module de classe TableIndex, tous deux à glisser vers le projet VBA de votre classeur, puis de vous aider à mettre au point son utilisation pour votre UF
À +
 

Pièces jointes

Re : Doublons dans un userform

Mais ne vous inquiétez pas.
Inutile de vous plonger dans le code de ces modules très pointus, et les instructions pour s'en servir sont vraiment minimalistes. Je vous les indiquerai toutes.
Je vois que vous fermez l'UF par Me.Hide. Ce n'est pas incorrect loin de là, mais il faut savoir que l'UserForm_Initialize ne s'exécute alors pas lors d'un Show ultérieur. Parfois j'écris une Public Sub Afficher que j'utilise à la place de Show pour être sûr d'avoir un code qui s'exécute chaque fois que je veux afficher l'UF. Celà vous irait-il ? Sinon il faut fermer par Unload Me.

P.S. Si je le fais, moi, je vais tout changer ! j'ai déjà mis des noms aux plages:
Numéro, DatEnreg, Boîte, Position, Sexe, DatNaiss , Cliniques, Biologiques.

P.S.2: Et là j'ai changé les CodeName des feuilles: Feuil1 en FCmde et Feuil2 en FSéroth

P.S.3: Que préférez à votre système de commande :
Des boutons de formulaires auxquels seront affectées des procédures d'un module standard, ou bien:
des boutons de commande avec évènements _Click programmés dans le module de la feuille ?
Là vous êtes entre les deux: vous avez mis des boutons de formulaires mais les procédures sont dans le module de la feuille. Ce n'est pas très correct.
Bon. Je remplace dans la feuille Gestionnaire les boutons de la barre d'outils "Formulaires" par des boutons de la boîte à outils contrôles: c'est ce qui me semble le plus proche de ce que vous vouliez faire.

Au fait, vos sérums me font penser à une gestion de stock pour un labo que j'ai écrit il y a quelques temps.
Mais la programmation sera un peu plus simple pour vous si le numéro est toujours saisi en premier avant la boîte.

J'ai une question importante: le numéro de boîte sera t-il toujours numérique ?
J'ai en effet un souci lors des 1ers essais: pour que la correspondance soit reconnue à la saisie je suis obligé de le convertir préalablement en texte avant de l'affecter à la propriété List du ComboBox. Si le numéro de boîte n'est pas toujours numérique ou si ce numéro n'est nulle part utilisé en tant que rang quelconque pour un accès direct à d'autres informations, il vaudrait mieux mettre cette colonne au format Texte, la programmation en serait simplifiée.
Qu'en pensez vous ?
À +
 

Pièces jointes

Dernière édition:
Re : Doublons dans un userform

Merci pour tout ce que vous faites.
On renseigne d'abord la boite puis la position.
Le numero de boite est toujours numérique quant à la position c'est une lettre (A...I) suivie d'un chiffre (1...9) .
cordialement.
 
Re : Doublons dans un userform

Bonjour.
J'ai compris tardivement, à cause de la disposition de vos contrôles, que c'était la combinaison Boîte + Position qui doit être unique dans toute la sérothèque. Ces deux contrôles doivent alors impérativement être mis en tête et saisis en premier.
Cependant, le numéro de sérothèque doit il aussi être unique ? Si oui on peut le laisser en tête mais ça risque de tout compliquer.
Peut-il changer dans une ligne ?
À +
 
Dernière édition:
Re : Doublons dans un userform

Bon alors on peut donc passer en tête de l'UF les saisies de Boite et Position ? Cette combinaison est le seul véritable identifiant de la ligne, inutile de tenter l'usager de saisir quoi que ce soit d'autre avant d'avoir saisi cela !
 
Re : Doublons dans un userform

Bon voici le premier jet.
Il y aura sans doute un certain nombre d'améliorations à y apporter.
Je n'ai pas touché au 2ième UF, je pense que la suppression devrait être prévue dans le premier.
Heureusement que j'ai vu qu'un affichage de l'UF était aussi prévu au double clic dans la feuille Sérothèque. Mais ça ne m'a pas posé de problème de l'intégrer.
À +
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
263
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
523
Réponses
2
Affichages
266
Retour