VBA Comparaison du contenu de 2 listbox

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 !

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je cherche à vérifier si le contenu d'une listbox est le même qu'une autre listbox.

Exemple :
Si la Listbox 1 de 3 colonnes contient
Col 1 : abc
Col 2 : 12
Col C : data

et si La listbox 2 de 3 colonnes contient en :
Col 1, Col 2 et Col 3 la même chose que la Listbox1

J'ai cherché dans les messages déjà publiés, sur le net mais je n'ai pas trouvé d'explications qui me permettrait de le faire.

Merci pour vos conseils et votre aide.
 
Re : VBA Comparaison du contenu de 2 listbox

Bonjour Laetitia,

Voici un fichier qui explique comment je procède.

Quelques explications :
1) J'utilise un formulaire pour collecter des données et les placer sur une feuille nommée Base dont les titres et le nombre de colonne est défini au préalable.
Mais, sur ce formulaire j'ai également à collecter des données (Matières) qui sont en quantité différente d'un enregistrement à l'autre.
Par exemple : nom de la matière ? réponse pour un premier enregistrement : mathématiques, sciences de l'ingénieur, mécanique
réponse pour un second enregistrement : économétrie, biologie

2) il arrive parfois qu'il faille modifier les données, et c'est là que j'ai besoin de vérifier le contenu de 2 listbox.
Voici ce que je fais :
Avant la modification : je charge toutes les données de la ligne qui convient sur les feuilles Base et Matières et je les replaces pour une part dans les champs de saisie du formulaire et dans 2 listbox (une visible) l'autre qui ne l'est pas, je place le même contenu, les matières.
Au clic sur le bouton modifier voici ce que je souhaiterais obtenir :
qu'il ne se passe rien si toutes les données sont inchangées
que seules les données modifiées soient modifiées sur la feuille Base et sur la feuille Matières.
Pour la feuille Base il n'y a pas de problème particulier. Mon problème se pose pour les Matières qui sont dans la listbox du formulaire qui ont été modifiée (éventuellement).
C'est là que j'ai pensé à cette solution de comparaison de Listbox :
Si le contenu de la listbox du formulaire est différent du contenu de la listbox de vérification c'est que les données ont été modifiées et je place sur la feuille matière les lignes de la listbox modificative, dans le cas contraire je conserve les données précédentes.

Il doit sans doute y avoir plusieurs façon de faire, et, sans doute aussi trouverez-vous que les codes sont mal rédigés... je débute et j'apprends avec l'aide d'exemples que je trouve notamment sur le forum.
J'ai pensé aussi à placer le contenu de la feuille matière dans une variable tableau et récupérer celles de la listbox modifiée du formulaire dans une autre variable tableau, cela permettrait sans doute de vérifier si les variables contiennent ou non tout ou partie du contenu de la listbox de modification.

Merci pour votre aide et vos suggestions.
 

Pièces jointes

- 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

Discussions similaires

Réponses
4
Affichages
280
Réponses
10
Affichages
661
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
520
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
734
Retour