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 :

Choix de nom selon critères


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut Choix de nom selon critères
    Bonjour,
    Dans le fichier joint, je cherche à remplir un tableau avec des prénoms en fonction de critères
    Lorsque que je clique sur le bouton remplissage je souhaiterais également mettre à jour la colonne nombre de sortie pour les prénoms affectés.
    Je donne les critères dans le fichier joint.
    Merci pour votre aideremplissagecritère.xlsm

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Lorsque que je clique sur le bouton remplissage je souhaiterais également mettre à jour la colonne nombre de sortie pour les prénoms affectés.
    Et moi, je souhaiterais, quand je clique sur le dit bouton, ne pas recevoir une injurebox comme quoi la macro n'existe pas.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    désolé je ne sais pas comment démarrer.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Tu veux dire que tu es total débutant ? Pourtant, il y a un userform avec du code, dans ton classeur...
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Je suis parti d'un fichier ou il y avait un bout de code avec un random.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Désolé, 'est du chinois, pour moi. Je passe la main.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    Peut-être me suis-je très mal expliqué. J'essaye à nouveau.

    lorsque je clique sur remplissage, je voudrais remplir le tableau avec des prénoms dans les poste de 1 à 3.
    Le remplissage doit se réaliser dans l'ordre des postes 1 à 3.
    Pour le poste 1, comment faire pour respecter les priorités énoncées dans le fichier joint. J'aimerais pourvoir lire dans les colonnes affectation, statut, niveau, nbre de sortie.
    Une fois le prénoms utilisé dans le poste 1, je met à jour le nbre de sortie à +1.
    Je passe au poste2 puis 3.
    Comment faire pour démarrer la programmation de ce petit algorithme ?

    Merci pour votre aide

  8. #8
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Je n'ai pas le temps pour le moment de creuser le sujet mais j'y ai jeté un oeil.

    Ton histoire est surtout une histoire de tri de tes lignes, en effet tes critères sont des priorités d'affectation.

    1 - Ce que je tenterais de faire à ta place :
    - charger tes données dans une matrice (en excluant les personnes ayant déjà une affectation à "oui"
    - pour le poste 1 :
    - trier les personnes sur leur statut (DC puis AS1) en ne gardant dans la matrice que celles qui ont une priorité 2 et 1
    - trier les personnes DC sur leur priorité et AS1 sur leur priorité
    - trier sur le nombre de sortie
    - prendre le premier nom trouvé pour l'affecter au poste 1
    - idem pour les autres postes (en ayant pris soin de mettre à jour la source excel avec affectation à "oui"

    C'est un peu compliqué et fastidieux mais ça devrait marcher.

    2 - Sinon autre possibilité : réaliser le tri dans excel (selectionner tes données + trier sur plusieurs colonnes en précisant dans quel ordre et ascendant/descendant), une fois tes données triées tu n'as plus qu'à prendre le premier nom non affecté. Tu peux faire ça en macro en enregistrant tes actions de tri puis en codant une boucle sur tes données jusqu'à trouver le premier nom non affecté.
    Tu fais un tri différent pour poste et à chaque fois prends le premier prénom non affacté.
    Bien penser quand tu affectes une personne à positionner la valeur "oui" dans l'affectation.
    Après il ne te reste plus qu'à affecter ta succession de macro à un bouton .

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jopont Voir le message
    Comment faire pour démarrer la programmation de ce petit algorithme ?
    Lire un tutoriel VBA Excel serait un bon début, je pense.
    Comme disait Jonathan Livingston le goéland : "avant d'apprendre à faire des loopings, commençons par le vol à l'horizontale".
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    bonjour, j'ai des bases en vba mais la c'est un peu complexe.quelqu'un peut-il m'aider à démarrer ?

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Le message #8 de LG-69 ne ressemble pas à une aide pour démarrer ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Membre habitué Avatar de LG-69
    Homme Profil pro
    Analyste statisticien
    Inscrit en
    Juillet 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste statisticien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 162
    Points : 189
    Points
    189
    Par défaut
    Oui la meilleure façon de commencer le VBA quand on n'y connait rien de rien c'est de faire les opérations manuellement en enregistrant la macro.

    Pour enregistrer la macro : onglet "Développeur" (s'il n'apparaît pas par défaut il faut cocher à un endroit le fait qu'on veut le voir apparaître, je ne sais plus où c'est mais une recherche sur internet devrait te le dire), dans le sous-groupe "Code", bouton "enregistrer la macro".

    Après ça tu fais tes opérations de tri dans excel puis tu arrêtes l'enregistrement de la macro.

    Pour voir le code : sous-groupe "contrôles", bouton "visualiser le code".

    Bien sûr le code n'est pas "très propre" mais si tu sais programmer un peu tu verras rapidement ce qu'il y a à nettoyer dans le code.

    Je n'aurai pas le temps pour le moment d'avancer plus sur ce sujet.

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par LG-69 Voir le message
    Oui la meilleure façon de commencer le VBA quand on n'y connait rien de rien c'est de faire les opérations manuellement en enregistrant la macro.
    Il me semble important, avant ça, d'avoir appris les éléments de base : ce qu'est un module, un objet, un membre, une variable, une condition, une boucle, etc. Histoire de pouvoir comprendre le code généré par l'enregistreur et de pouvoir l'adapter.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    Bonsoir,
    J'ai déjà écrit du code VBA, des if then, des for i, des case je sais ce qu'est un module, un formulaire...
    Seulement sur mon cas je ne sais pas comment commencer.
    merci

  15. #15
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Ils t'ont expliqué comment enregistrer une macro et ils t'ont suggéré une marche à suivre.

    Tout ce qu'il te reste à faire, c'est de décomposer ton gros problème en plusieurs petits problèmes. Ensuite tu règles chaque petit problème. un à la suite de l'autre et en ordre logique.

    Pour en venir à bout, tu as des tutoriaux ici-même sur développez.com
    Ton aide VBA
    Ton enregistreur de macros
    et MSDN : http://msdn.microsoft.com/library/of...2(v=office.15)
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  16. #16
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jopont Voir le message
    je ne sais pas comment commencer.
    Sub MaMacro()
    Dim ...
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  17. #17
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    J'ai l'impression que c'est soit qu'il veut un code tout fait, soit que c'est de la mauvaise volonté, ou c'est un PEBKAC.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  18. #18
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    C'est pour ça que mon message #16 était ironique.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  19. #19
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Points : 0
    Points
    0
    Par défaut
    bonsoir,
    merci pour votre aide. C'est seulement que je ne sais pas par où commencer.

  20. #20
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Faudrait faire une pétition pour la création d'un "smiley officiel" signifiant Découragé.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

Discussions similaires

  1. [XL-2003] choix de feuille selon critères dans un autre classeur
    Par franxy dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/10/2011, 21h36
  2. Eclater une colonne en plusieurs selon critère
    Par Tatoine dans le forum Langage SQL
    Réponses: 5
    Dernier message: 14/07/2006, 11h19
  3. Réponses: 5
    Dernier message: 03/07/2006, 16h39
  4. Réponses: 7
    Dernier message: 29/06/2006, 11h11
  5. Réponses: 2
    Dernier message: 01/10/2005, 18h42

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