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 :

VBA script pour de nombreuses ComboBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Formateur
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Par défaut VBA script pour de nombreuses ComboBox
    Bonjour le forum,

    Je me tourne vers vous n'étant pas un grand expert VBA (je "bidouille" seulement).

    Voilà mon souci, J'ai un classeur excel avec différent Userform, l'objectif globale de ce fichier est de suivre les validations de participants sur une formation.
    Pour cela j'ai un Userform qui me permet d'inscrire les validations de competence (ou pas) via des Combobox, ce qui arrive à plus de 800 items...

    Je voudrais savoir si il est possible de crée un script qui pourrais gérer le comportement de tout les Combo de l'User, plutot que de les faire une par une.

    Sachant que les combo on tous la même liste a aller chercher.


    Par avance merci de votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    combien as-tu de combobox ?

    qu'appelles-tu "gérer le comportement" ? Vérifier qu'ils sont remplis ? Utiliser leur valeur pour "faire quelque chose" ? C'est toujours le même "quelque chose" à faire que la combobox soit remplie ou non ?

    Tu vas avoir deux cas possibles en fonction de tes réponses :

    - créer une classe personnalisée pour piloter tes combobox comme des objets personnalisés
    - (si le besoin est plus basique) : créer une procédure générique qui va faire le travail unitairement sur chaque combobox, ou par lot de combobox (qu'on transmettra sous forme de tableau à cette procédure générique)

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    ce passage m'interpelle et m'intrigue :
    Sachant que les combo on tous la même liste a aller chercher.
    pourquoi 800 comboboxes, alors ?
    Cela ressemble à une usine à gaz.
    Car si chacune d'entre elles doit consigner et traiter différemment un choix toujours parmi la même liste, autant n'utiliser qu'une seule combobox (contenant ta "liste") et une seconde combobox contenant 800 articles déterminant l'action à conduire sur le choix fait dans la première combobox !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Formateur
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Par défaut
    Tout d'abord merci pour vos premier retour.

    Pourquoi 800 ComboBox: chaque ComboBox correspond à un critère de validation d'une compétence. 9 Compétences avec 8 chance d'y parvenir, multiplié par 12 personnes ça commence a faire beaucoup

    Chaque ComboBox doit avoir une liste "basique" de "OUI", "NON", "NE" et renvoie le résultat dans une cellule précise.

    Ce que je voudrait c'est simplement qu'elles puisse utilisé la même liste soit les oui, non ne et changer de couleur de fond en fonction de la réponse.

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Tes 800 combobox peuvent donc devenir 4 contrôles :

    - un combobox avec la liste des 12 personnes
    - un combobox avec la liste des 9 compétences
    - un combobox avec la liste des 8 chances d'y parvenir
    - un listbox qui reçoit les 800 saisies réalisées par ces 3 combobox


    Et encore, j'ai réfléchi 2 minutes ... y'a encore plus simple à mon avis, par exemple : pas de Userform et on travaille sur une feuille Excel avec des listes de validation

  6. #6
    Membre à l'essai
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Formateur
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Par défaut
    J'avais pensé au liste de validation mais les validation n'est qu'une partie du projet.
    Les plus simple pour les utilisateurs est de travailler sur des user.


    La contrainte qui mes imposé c'est que je doit remplir un document imprimable qui ne peux être changé.

    Je joint le tableau que je dois arriver à compléter par oui, non ou ne.

    Sachant :
    Que je ne peux le modifier
    Que chaque participant à son propre tableau (dans des onglets différents)
    Que ce n'est qu'une partie du dossier qui doit être compléter


    Pour le moment met combo servent à remplier chaque case individuellement.
    Fichiers attachés Fichiers attachés

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Jarod60 Voir le message
    Les plus simple pour les utilisateurs est de travailler sur des user.
    Ben quoi ? Tu mes tes utilisateurs par groupes de deux. Il y en a un qui se penche et l'autre met le PC sur son dos.

    Et le tragique de l'histoire c'est d'être assez stupides de vouloir gérer des dossiers d'élèves sur Excel.

    1) Quand les classeurs Excels sont trop volumineux, ils sont sources de plantages pouvant aller jusque à la perte des données

    2) Excel est supernul à la puissance 10 en termes de sécurité. Aucune des mesures de sécurité connues d'Excel ne peut résister à n'importe qui d'autre qu'un utilisateur obéissant qui recule quand il n'a pas le mot de passe.

    3) n'importe quel bidouilleur moindrement compétent et moindrement décidé qui mettrait la main sur le fichier pourrait le mettre à son goût et piquer des informations personnelles, mais Access cela coûte trop cher tant que votre CNIL, ou n'importe quelle autre agence ne vous tombera pas sur le dos après une plainte pour vol d'identité ou autre acte répréhensible.

    4) Cela resterait à vérifier, mais je pense que Visual Studio Community, (avec sa version gratuite de SQLServer), reste gratuit pour les compagnies qui l'utilise pour leur usage interne seulement, et pour produire des logiciels libres.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Formateur
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Par défaut
    Citation Envoyé par clementmarcotte Voir le message
    Ben quoi ? Tu mes tes utilisateurs par groupes de deux. Il y en a un qui se penche et l'autre met le PC sur son dos.
    C'est quoi l'idée?

    Citation Envoyé par clementmarcotte Voir le message
    Et le tragique de l'histoire c'est d'être assez stupides de vouloir gérer des dossiers d'élèves sur Excel.
    Stupide pour toi. Internet n'interdit pas la correction.



    Citation Envoyé par clementmarcotte Voir le message
    1) Quand les classeurs Excels sont trop volumineux, ils sont sources de plantages pouvant aller jusque à la perte des données
    Inoformation inintéressante, je vais être vigilant sur ce point.

    Citation Envoyé par clementmarcotte Voir le message
    2) Excel est supernul à la puissance 10 en termes de sécurité. Aucune des mesures de sécurité connues d'Excel ne peut résister à n'importe qui d'autre qu'un utilisateur obéissant qui recule quand il n'a pas le mot de passe.

    3) n'importe quel bidouilleur moindrement compétent et moindrement décidé qui mettrait la main sur le fichier pourrait le mettre à son goût et piquer des informations personnelles, mais Access cela coûte trop cher tant que votre CNIL, ou n'importe quelle autre agence ne vous tombera pas sur le dos après une plainte pour vol d'identité ou autre acte répréhensible.
    Le fichier n'est pas destiné à être sur un réseaux, il reste sur un poste uniquement.
    Concernant la CNIL ou autre ne rentre pas en compte étant donné que les informations ne sont pas conservé sur du moyen ou long terme mais juste le temps de la saisie puis imprimer format papier.

    Citation Envoyé par clementmarcotte Voir le message
    4) Cela resterait à vérifier, mais je pense que Visual Studio Community, (avec sa version gratuite de SQLServer), reste gratuit pour les compagnies qui l'utilise pour leur usage interne seulement, et pour produire des logiciels libres.
    A regarder pour d'autre utilisation cela peut être intéressant.

  9. #9
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Concernant la CNIL ou autre ne rentre pas en compte étant donné que les informations ne sont pas conservé sur du moyen ou long terme mais juste le temps de la saisie puis imprimer format papier.
    Ah bon ? Grave erreur ! La CNIL n'a pas à se préoccuper (ni à faire confiance) de la manière dont tel ou tel autre dit qu'il utilisera les choses. Elle se contente (et elle a bien raison) de s'assurer de ce que l'on ne met pas en place ce que l'on pourrait, en dépit de ses acclamations, utiliser autrement que comme on le dit.
    Tu comprends cela (ou cela te dépasse-t-il à ce point) ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Formateur
    Inscrit en
    Janvier 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Formateur
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2017
    Messages : 5
    Par défaut
    Oui et cela reste logique.
    Les données personnel il n'y en à pas puisque les participants sont nommé par "numéro" donc pas de possibilité de regrouper avec le fichier les évaluations et le nom prénom de la personne.

    Cela ce fait sous forme papier.

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Jarod60 Voir le message
    C'est quoi l'idée?.

    Ben quoi tu as écris textuellement :

    Les plus simple pour les utilisateurs est de travailler sur des user.
    Et user veut dire utilisateur. Donc, tes utilisateurs veulent travailler sur des utilisateurs.



    Stupide pour toi. Internet n'interdit pas la correction.
    Oui, utiliser Excel pour gérer des données c'est être stupide.

    Excel a constamment besoin de tout ses classeurs en mémoire vive pour fonctionner. Access est capable de travailler avec des portions de fichiers en mémoire vive. Excel en est incapable. Un classeur trop volumineux ou qui utilise trop de tableaux ou de formules matricielles est susceptible de faire planter Excel et de corrompre un classeur et même de causer des pertes de données. Excel n'a aucune protection de données, aucun respect de l'intégrité référentielle, aucune protection pour éviter qu'une donnée périmée ne vienne écraser une donnée fraîchement modifiée. Veut, veut pas, gérer des données avec Excel, c'est être stupide et téméraire.

Discussions similaires

  1. [XL-2010] Code VBA pour trier sur combobox
    Par duplaly dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/04/2011, 17h56
  2. [VBA] Script pour compiler des fichiers csv
    Par dol75 dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/01/2011, 08h25
  3. Code pour alimenter 2 ComboBox en VBA
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 42
    Dernier message: 12/12/2008, 08h12
  4. [pgaccess] Script pour formulaire
    Par garou51 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 13/06/2003, 08h30
  5. Script pour envoyer des info a mysql
    Par rhum1 dans le forum Linux
    Réponses: 6
    Dernier message: 15/04/2003, 16h19

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