"msgbox" pour informer des doublons dans "combobox"...

mikaconny

XLDnaute Nouveau
Bonjour,

j'espère que je serais clair quant à l’explication de mon problème.
J'ai créer a l'aide de VBA un outil de gestion.
Dans ce classeur, je dispose de plusieurs feuilles que j'ai nommé par exemple "A" et "B".
Dans la feuille "A" j'ai une multitude d'élément que je peux récupérer et ainsi copier dans la feuille "B".
Pour ce faire j'ai créer plusieurs USF qui me permettent d’exécuter plusieurs actions mais un seul USF m’intéresse.
Dans ce formulaire qui me permet de copier un élément de la feuille "A" vers la feuille "B", j'ai 3 combobox en cascade qui sont liées.

Ce que je n'arrive pas a faire :
c'est qu'un message s'affiche (msgbox) dés que je Click pour ajouter mon nouvel élément de "A" vers "B" (en fonction de la comboxbox1, 2 ou 3) m'informant que celui ci s'y trouve déjà et que l'action du coup s'annule après cela.

J'espère que vous voyez ou je veux en venir.
je vous remercie par avance de vos conseils...

Bonne soirée.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : "msgbox" pour informer des doublons dans "combobox"...

Bonjour mikaconny,

Merci pour le fichier.
Comme vous semblez bien manier les dictionary, j'ai fait une proposition avec dictionary :p

Elle est basée sur une procédure Sub RemplirDico123(,,,) dont les argument sont les valeurs des trois Combobox et la feuille au sein de laquelle la recherche s'effectue.

Cette procédure agit sur une variable publique Dico123 qui après l’exécution de RemplirDico123 est un dictionary dont les clefs sont les numéros de lignes qui respectent les trois critères.

Pour faire une recherche sur la feuille C12, on appelle RemplirDico123 comme ceci :
Code:
RemplirDico123 ComboBox1, ComboBox2, ComboBox3, Worksheets("C12")
Ensuite, on peut utiliser Dico123 :

  • Dico123.count donne le nombre de lignes avec les trois critères
  • si Dico123.count=0, alors aucune ligne ne répond aux critères
  • si Dico123.count=1, une seule ligne est concernée et le numéro de ligne est Dico123()(0)
  • si Dico123.count >1, alors plusieurs lignes sont concernées et Dico123.keys contient les numéros de toutes les lignes concernées.

Pour visualiser l'utilisation, on peut directement cliquer sur le bouton de la feuille "C12"


  • le code de Sub RemplirDico123 et la variable publique Dico123 sont dans le module : mod_Dico1232
  • un exemple de code d'utilisation est dans le code du bouton "Ajouter" de Userform11
  • des commentaires parsèment le code.
 

Pièces jointes

  • mikaconny-MATOS-v1.xlsm
    80.1 KB · Affichages: 47

mikaconny

XLDnaute Nouveau
Re : "msgbox" pour informer des doublons dans "combobox"...

Bonsoir,

tout d'abords je tiens à vous remercier de votre aide...
Grace à vous je me rapproche du but.
Mais peut on, par exemple, copier un élément de "A" vers "B" (sachant que cet élément ne s'y trouve pas encore) tout en m'informant (par msgbox) de la réussite de l'action ; et si par inadvertance je copie une fois de plus ce même élément de "A" vers "B" un message m'informant que celui s'y trouve déjà et par conséquent cet élément ne se copie pas du tout et annule l'action...

Vous voyez ce que je veux dire???

Merci de vos conseils.
Bonne soirée.
 

Discussions similaires

Statistiques des forums

Discussions
312 146
Messages
2 085 764
Membres
102 967
dernier inscrit
Syl34