Filtration de Données via UserForm

Bonjour à tous, je me permets de poster ce message car mon programme ne retourne pas ce que j'attends.

Je m'explique : Je dispose d'un UserForm comprenant 14 CheckBox chacun associé à un Label.
Je dispose aussi d'un bouton commande "Filtrer". Le but de ce bouton est de filtrer ma feuille excel "Feuil1" en fonction des checkbox qui ont été coché.
Chaque checkbox correspond à une valeur dans une colonne précise. Ma feuille excel "Feuil1" comporte 32 entetes de A1 à AF1. Le but est de filtrer ma "Feuil1" et d'extraire de cette derniere les lignes ayant soit le checkbox1 soit le checkbox2... soit le checkbox14 soit les lignes qui ont toutes ces checkbox, dans la "Feuil2"

Malheureusement, lorsque je coche plusieurs checkbox, le programme retourne les lignes n'ayant qu'un critere correspondant juste à un checkbox..
Je pense que c'est un probleme de "Ou inclusif" mais je ne sais pas quoi modifier dans mon code...

Je vous remercie par avance et reste à votre disposition pour tout renseignement complémentaire.

Bien à vous.

11userform-1.rtf (3.01 Ko)

Bonjour

Je t’ai demandé précédemment de joindre ton fichier éventuellement anonymisé.

Je ne m’attendais pas à un fichier " .rtf " car on est sur un forum essentiellement « Excel »

Alors je précise : ce dont on a besoin c’est de ton fichier " .xlsm "

Bye !

Bonjour Gmb,

Je suis désolé de ne pas pouvoir poster le fichier ".xslm", ce fichier est sur mon ordinateur du bureau et il m'est impossible de le poster sur le forum (firewall activé sur le site où je travaille) et je ne peux pas non plus me l'envoyer par mail à mon adresse perso.
En fait, il est tout simplement impossible de sortir un fichier présent sur mon ordinateur de bureau à l'exterieur du site.
J'aurai voulu le rendre anonyme mais c'est impossible... j'espere que vous comprenez que ce n'est pas de mon ressort, si j'avais pu je l'aurai fait, conscient que ça nous aurait grandement facilité le débugage ..
En revanche le modérateur a été tres sévere je ne comprends pas pourquoi...
Merci quand meme gmb et bonne journée

Bonjour,

Cette ligne m'interpelle :

Set CheckBoxes(j) = mec.Controls("CheckBox" & i)

C'est un Copier/Coller que tu as fait, ou tu as entièrement retapé ton code dans ton fichier joint?

Après, effectivement sans le fichier, ça va être bien moins simple...

Bonne journée, et bon courage

Bonjour Cousinhub, oui en effet j'ai entièrement retapé mon code et je suis désolé pour la coquille...
La ligne correcte est : Set CheckBoxes(j) = Me.Controls("CheckBox" & i)

Merci beaucoup

En fait, je voudrais juste réaliser un code, plutôt simple, en python je serai largement capable de le faire... mais en vba ce n'est pas la même chose :')
Le principe du code est simple, j'aimerai juste parcourir toutes les lignes de ma "Feuil1", et me concentrer sur les colonnes 8,9,10,11,12,13,14,15,20,21,24 et 28.
A partir de ces colonnes je regarde, par exemple à la ligne 2 (la ligne 1 sont les entetes) je regarde si mon checkbox12 correspondant au critere "5" est coché, si c'est le cas je regarde si à la ligne 2 colonne 8 (la colonne correspondant au checkbox12) il y a la valeur "5". Si c'est le cas je copie ma ligne dans "Feuil2", si ce n'est pas le cas, je passe à la colonne 9 et regarde si le checkbox1 correspondant à la colonne 9 est coché, si c'est le cas je regarde dans la ligne 2 colonne 9 si il y a la valeur "D", si oui je copie sinon je passe à la colonne suivante... etc... en bouclant sur les lignes...
Un grand merci à vous, c'est super gentil de m'aider malgré le peu de ressource que je suis apte à vous donner.
Bien à vous,

Iliès

Re-,

Est-ce que le blocage de ta boîte concerne tous les fichiers Excel, ou uniquement ceux comprenant des macros?

Si tu peux t'envoyer le fichier brut (sans macro) chez toi, et refaire un usf dessus, ce serait le top...

Sinon, tu mets "5" (entre guillemets, soit comme si c'était un texte), ne serait-ce pas mieux de taper 5 directement?

Pour tout vous dire, je travaille dans une banque, c'est à dire que tous les fichiers sont bloqués...
Pour vous donner un exemple je ne peux même pas envoyer un mail contenant simplement "Bonjour" de ma boite pro vers ma boite perso...
C'est pour ces raisons que je ne peux joindre aucun fichier mis a part celui que j'ai recopié chez moi grace à la photo que j'ai pris avec mon portable.
Bien à vous,

Iliès

Pour ce qui est de l'userform, mon ordi perso est un Mac et d'après ce que j'ai vu, il est à présent impossible de créer un UserForm sur Mac...
En revanche mon ordinateur de bureau fonctionne sur Windows c'est pourquoi j'y créé des UserForm et des ListView sans problèmes

Re-,

Tu as regardé pour le "5" (ou tout autre chiffre numérique considéré comme texte, lorsqu'il est écrit ainsi dans un code)?

Oui j'ai régradé, quand je selectionne uniquement un critere, par exemple mon checkbox associé au critère 5, le programme me renvoie comme je l'attends toutes les lignes avec la valeur 5 dans la colonne 8, donc je ne pense pas qu'il y ait d'erreur de ce coté.
Bien à vous et encore merci.

Après plusieurs recherches sur internet je viens de voir que le porblème que je rencontre est dû au fait que AutoFilter ne peut que réalisé des intersections sur les colonnes... malheureusement dans mon cas j'aimerai que ce soit une union (inclusive)

Bonjour Iliesman

Bonjour Gmb,

Je suis désolé de ne pas pouvoir poster le fichier ".xslm", ce fichier est sur mon ordinateur du bureau et il m'est impossible de le poster sur le forum (firewall activé sur le site où je travaille) et je ne peux pas non plus me l'envoyer par mail à mon adresse perso.
En fait, il est tout simplement impossible de sortir un fichier présent sur mon ordinateur de bureau à l'exterieur du site.
J'aurai voulu le rendre anonyme mais c'est impossible... j'espere que vous comprenez que ce n'est pas de mon ressort, si j'avais pu je l'aurai fait, conscient que ça nous aurait grandement facilité le débugage ..
En revanche le modérateur a été tres sévere je ne comprends pas pourquoi...
Merci quand meme gmb et bonne journée

Vous travaillez dans une banque, il faudra me dire laquelle, que n'y aille pas
Vous ne devriez même pas avoir le droit de surfer sur Internet, quid de la sécurité informatique et des risques du vol d'informations

Sinon, je n'ai pas été très sévère je vous ai juste averti et vous n'avez pas daigner faire ce qui vous était demandé.
et je n'ai pas eu le temps de déverrouiller le sujet, j'étais en réunion financière toute la matinée....

Ceci dit, avec ENFIN une explication de votre part, on peut mieux comprendre

Maintenant, quand vous voulez qu'on vous débogue un code, vous voudrez bien le mettre entre balises </> SVP

2023 03 01 10h56 13

et non dans un fichier ".rtf"

Edit modo : propos déplacé et supprimé ne vous en déplaise

Bonjour iliesman,

Je t'invite à poursuivre à la suite de ce sujet en postant un fichier Excel "normal" ou le code via le bouton comme suggéré par Bruno.

Cordialement,

Bonjour Sebastien,

Je viens de trouver la solution je me suis un peu cresé la tete mais au final le code marche !
Dois-je le poster?
Merci

Je viens de trouver la solution je me suis un peu cresé la tete mais au final le code marche !

Dois-je le poster?

Oui ta solution est la bienvenue

Entendu, je la poste dans un instant

Bonjour,

1. Petite suggestion.

Dans un post précédent(https://forum.excel-pratique.com/s/goto/1137302), vous mentionnez être sous excel MAC.

Je vous suggère d'ajouter MAC à coté de votre version Excel dans le profil de votre compte (Excel MAC 2019). Cela aidera celui qui vous répondra.

2. Par ailleurs, pour votre info, les USF fonctionnent sous MAC si vous les créez depuis excel Windows.
Attention toutefois que les contrôles ActiveX ne fonctionnent pas sous MAC, ce qui est le cas avec la listview. Là vous devez utiliser la Listbox qui assurera la compatibilité entre les deux plateformes

Cordialement

Rechercher des sujets similaires à "filtration donnees via userform"