Doublons dans un userform

ciree

XLDnaute Nouveau
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

  • Copie de SEROTHEQUE.xls
    129.5 KB · Affichages: 52

Dranreb

XLDnaute Barbatruc
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
À +
 

Dranreb

XLDnaute Barbatruc
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

  • SansDoublon.xls
    342.5 KB · Affichages: 69
  • SansDoublon.xls
    342.5 KB · Affichages: 70
  • SansDoublon.xls
    342.5 KB · Affichages: 73

Dranreb

XLDnaute Barbatruc
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

  • GestionStockLabo.xls
    212.5 KB · Affichages: 68
  • GestionStockLabo.xls
    212.5 KB · Affichages: 70
  • GestionStockLabo.xls
    212.5 KB · Affichages: 74
Dernière édition:

ciree

XLDnaute Nouveau
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.
 

Dranreb

XLDnaute Barbatruc
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:

Dranreb

XLDnaute Barbatruc
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 !
 

Dranreb

XLDnaute Barbatruc
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

  • SÉROTHEQUE.xls
    172.5 KB · Affichages: 83
Dernière édition:

Discussions similaires

Réponses
10
Affichages
177

Statistiques des forums

Discussions
312 976
Messages
2 094 103
Membres
105 938
dernier inscrit
Cubernicus