IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Affichage dans ListBox basse de données triée et filtrée


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chomeur professionel
    Inscrit en
    Décembre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chomeur professionel

    Informations forums :
    Inscription : Décembre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Affichage dans ListBox basse de données triée et filtrée
    Toctoc me revoilà (déjà),
    Comme je le disais en présentation je suis bloqué sur une partie de mon projet. J’ai fait pas mal de recherches, tenté d’adapter des lignes de codes, essayé de comprendre comment faire pour contourner mon problème … mais rien n’y fait je suis bloqué. J’espère trouver une aide précieuse ici.

    Je vous explique, j’ai une base de donnée qui est extraite régulièrement qui me sert de base pour mon travail. Je me suis fait un formulaire avec 3 combobox, une listbox, des textbox et des boutons de validation.
    Ma base de données contient une quinzaine de colonnes et à terme plusieurs centaines de lignes. Les deux premières colonnes ne vont contenir que très peu d’informations différentes (en première colonne environ 10 données différents et 5-6 en deuxième). Ce que je souhaite faire c’est appeler dans la listbox les lignes de ma base de donnée en fonction de la colonne 1 – 2 – 3 – 6 que je vais trier sans doublons dans des combobox. A cela j’ajoute une condition c’est que si la colonne 8 est à 10 les lignes de s’affichent pas dans la listbox. J’ai besoin que des lignes inférieures à 10 ou vides.
    Pour info la sélection des ligne ne se fait pas forcément en respectant un ordre dans les combobox, on peut trier soit avec la combobox1 soit la 2 soit la 3 et 1, …. Je n’ai pas besoin forcément d’une cascade genre 1 appelle 2 puis 3.
    Une fois les lignes récupérées dans la listebox je suis amené à modifier certaines données et donc après enregistrement je veux que cette nouvelle ligne vienne remplacer la ligne d’origine. Je pense que cette partie m’est accessible (mais pas sûr).

    Tout un programme.
    J’ai essayé les combobox en cascade, d’activer les filtres du TCD depuis l’userform pour venir collecter les lignes sélectionnées, d’adapter les formules magiques de M. BOISGONTIER … mais nada que dalle je n’y arrive pas.
    Au pire des cas je me suis dis que ces modifs allaient se faire directement dans la base de données en verrouillant certaines cellules pour éviter que mes collègues fassent n’importe quoi (je les connais ces zozos).

    Je ne sais pas si ça vaut la peine de mettre mon fichier ? Dites-le-moi.

    Merci par avance pour l’aide.

  2. #2
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Points : 1 459
    Points
    1 459
    Par défaut
    Bonjour, compliquée votre histoire.
    Puisque vous avez des "Zozos", déjà un conseil: Faites une extraction par filtre élaborés de votre base de données initiale sur une autre feuille sur laquelle travailleront les dits "zozo". ainsi vous conserverez une intégrité à votre base.
    Ensuite, je vous signale que les filtres élaborés permettent d'effectuer sur une feuille Excel tout ce que vous souhaitez faire. et que la manière de le faire qui est dirons nous "incarnée" sur le document est souvent plus simple à comprendre pour les gens, qui comme moi ont des problèmes d'abstractions.
    je ne saurais trop vous conseiller, si vous ne le connaissez pas, de vous instruire du tutorom de Philippe Tulliez sur le sujet.
    https://philippetulliez.developpez.c...dvancedfilter/
    Cordialement

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    En PJ, un exemple de programme générique de recherche/modification qui s'adapte aux BD.

    -On peut définir 1 à 6 comboBox de recherche.
    -Les lignes choisies sont affichées dans un ListBox
    -Un TextBox intuitif permet d'affiner la recherche dans le ListBox

    Il faut adapter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Set Rng = f.Range("A2:N" & f.[A65000].End(xlUp).Row)     ' à adapter
     ColCombo = Array(1, 2, 3)                                         ' A adapter (1 à 6 colonnes maxi)
     colVisu = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)     ' Colonnes ListBox (à adapter)
     colInterro = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) ' Colonnes à interroger (adapter)
    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Candidat au Club
    Homme Profil pro
    Chomeur professionel
    Inscrit en
    Décembre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chomeur professionel

    Informations forums :
    Inscription : Décembre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci pour vos réponses. En fait je ne veux pas que les « zozos » puisse voir la base de données, d’où le choix d’un formulaire. En plus il y aura tout plein d'indications pour bien guider les gens, ça va être joli !!!! :-)

    Je vais regarder vos codes.

    Pour info j’ai ouvert une autre discussion (pensant que celle-là n’avait pas été créée) car entre temps j’ai fait évoluer mes formulaires mais d’autres problèmes sont apparus.

    P.S : Je pense que vous devriez reconnaitre votre petit M’sieur BOISGONTIER :-)

  5. #5
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Points : 1 459
    Points
    1 459
    Par défaut
    Bonjour, vous pouvez protéger la feuille de la base de données et faire en sorte quelle ne soit accessible que par VBA, donc votre formulaire. Attention toutefois à la protection dont la qualité intrinsèque est de surtout empêcher d'entrer, "ceux qui ne souhaite pas vraiment entrer".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.protect password:= "Passe" , userinterfaceonly:= True 'Passe est a remplacer par le mot choisi par vous ainsi que le nom de la feuille
    Cordialement

  6. #6
    Candidat au Club
    Homme Profil pro
    Chomeur professionel
    Inscrit en
    Décembre 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chomeur professionel

    Informations forums :
    Inscription : Décembre 2019
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    C'est effectivement ce que je souhaite faire. Mais bon avec mes maigres connaissances j'ai un peu de mal à régler mes soucis de formulaire. Je vais essayer avec les lignes de code de BOIGONTIER.

    Merci pour la réponse

  7. #7
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Par curiosité ta BD est sous quel SGBDR?

Discussions similaires

  1. problème d'affichage dans listbox
    Par azräel dans le forum VB.NET
    Réponses: 6
    Dernier message: 06/11/2008, 11h39
  2. affichage - dans listbox
    Par shirya dans le forum VB.NET
    Réponses: 6
    Dernier message: 13/08/2008, 23h07
  3. Mauvais affichage dans listBox
    Par moilou2 dans le forum IHM
    Réponses: 30
    Dernier message: 16/03/2008, 20h19
  4. affichage dans div base de donnée sql infini (horizontalement) en css
    Par Overstone dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/08/2007, 15h03
  5. Réponses: 2
    Dernier message: 19/07/2007, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo