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 :

Liste de noms des moniteurs attribués sur un cours de ski


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 13
    Par défaut Liste de noms des moniteurs attribués sur un cours de ski
    Bonjour,

    Je ne parviens pas à exécuter la fonction que je souhaite en utilisant recherchev, index et equiv...

    Je pense donc me diriger vers une fonction VBA mais je n'en maitrise totalement l'écriture.

    Pour faire simple, j'aimerai récupérer les noms des moniteurs selon le numéro de semaine et le niveau de cours. L'ensemble de ces informations sont situées dans l'onglet "RECAP", et je souhaite lister les noms des moniteurs dans l'onglet "Effectifs automatique" dans les cases avec les tirets.
    Je suppose que l'utilisation de la fonction "find" fait partie de la solution ?

    L'objectif serait qu'en modifiant le numéro de semaine en R2 dans l'onglet "Effectifs automatique", le remplissage des cases se fassent automatiquement.

    Selon les périodes il y a des cours Matin (M) & Après-midi (APM) ou des cours journée (J) & demi-journée (1/2 J). Le sujet ici ne concerne que les semaine 7, 8, 9 et 10 avec les cours J et 1/2 J.

    J'espère que c'est assez clair.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 165
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Comme on ne sait pas qui ouvre les fichiers sur un forum, on anonymise les données qu'on poste, mauvaise idée de mettre de vrais noms dans un fichier public
    On peut corriger ça en modifiant le message d'origine qui permet de supprimer la pièce jointe pour en mettre une autre anonymisée

    Sinon pour la question, je n'ai pas compris où les résultats sont censés s'afficher
    Pourquoi toutes ces cellules fusionnées dans la feuille Effectifs automatiques ? c'est là que les noms doivent s'afficher ? Pourquoi les données sont en semaine dans la feuille RECAP et en jour dans Effectifs automatiques ?
    Un exemple du résultat attendu saisi, avec la cellule en couleur pour qu'on voit où regarder aiderait

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 13
    Par défaut
    Bonjour,

    Merci de la réponse et effectivement, bien qu'il n'y ait que des noms et prénoms, j'ai anonymisé le document...

    Les cellules sont fusionnées car j'utilisai ce document en format papier (imprimer) pour y inscrire manuscritement les noms des moniteurs.
    C'est bien la que les résultats doivent s'affichés.
    Les données sont en semaine dans la feuille récap car il s'agit des attribution pour la semaine complète; les données sont en jours dans la feuille Effectifs automatiques car il me renvoie le nombre d'élève par jour de la semaine séléctionnée (dans cet exemple, la semaine 9).

    En exemple dans la feuille Effectifs automatique, j'ai colorisé les cellules en vert et ajouter manuellement les résultats attendus pour le cours A1, Debutant, Flocon et 1ere Etoile.
    Pour le cours A1, dimanche il y a 9 élèves, 7 le lundi et 10 le mardi. J'ai placé le moniteur 7 sur ce cours. J'aimerai donc que le nom de ce moniteur soit placé dans cette case A13.
    Pour le cours DEB, dimanche il y a 32 élèves, 35 le lundi et 31 le mardi. J'ai placé les moniteurs 1, 25 et 32 sur ce cours. J'aimerai donc que le nom de ces moniteur soit placé dans cette case I13.

    Pour aller plus loin, lorsque j'importe des données de la semaine 10 ou 11 par exemple, j'aimerai que dans la feuille Effectifs automatique les noms des moniteurs se mettent a jour.

    J'espère que c'est plus clair ?

    Merci

  4. #4
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 165
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    la réponse va dépendre de votre version d'Excel
    les dernières versions proposent des fonctions comme FILTRE qui aideraient à n'obtenir que les moniteurs concernés
    La fusion c'est obligatoire ? ça oblige la formule à concatener les résultats et ça n'aide pas

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 13
    Par défaut
    Bonjour,

    Non la fusion des cellules n'est absolument pas obligatoire ! C'était pour un souci d'esthétique plus que d'utilité !
    Excel 2016 pour la version.

  6. #6
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 165
    Billets dans le blog
    2
    Par défaut
    Re,

    un essai en PJ (je n'ai fait que les cellules jaunes, à titre d'exemple)
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 13
    Par défaut
    Re tototiti,

    La formule est un très bon début, merci !

    Cependant, j'aimerai que les noms des moniteurs se mettent à jour automatiquement lorsque j'importe mes données dans la feuille Import ESF4807 (ce qui engendre principalement une modification de date).
    Ainsi, si j'importe des données pour la période du 02 au 07 mars, il faudrait donc que les valeurs soient recherchées dans la bonne colonne, soit dans les colonnes AB et AC pour les cours journée et AD pour les cours demi-journée.
    C'est pour ça que j'avais ajouté le numéro de semaine, en pensant que cela puisse aider dans la recherche... mais je ne suis pas vraiment sur que cela soit utile.

    Une idée pour apporter ce décalage selon la date ?

  8. #8
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 165
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    Dans les formules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(INDEX(RECAP!$B$5:$B$54;PETITE.VALEUR(SI((RECAP!$Y$5:$Y$54='Effectifs automatique'!$A$12)+(RECAP!$Z$5:$Z$54='Effectifs automatique'!$A$12);LIGNE(RECAP!$Y$5:$Y$54);10000)-4;LIGNE(A1)));"")
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(INDEX(RECAP!$B$5:$B$54;PETITE.VALEUR(SI((RECAP!$AA$5:$AA$54='Effectifs automatique'!$E$12);LIGNE(RECAP!$Y$5:$Y$54);10000)-4;LIGNE(A1)));"")
    il faut remplacer

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECALER(RECAP!$A$5:$A$54;0;EQUIV($R$2;RECAP!1:1;0)-1)
    , remplacer

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECALER(RECAP!$A$5:$A$54;0;EQUIV($R$2;RECAP!1:1;0))
    et remplacer

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECALER(RECAP!$A$5:$A$54;0;EQUIV($R$2;RECAP!1:1;0)+1)

  9. #9
    Membre averti
    Homme Profil pro
    Ingénieur aménagement montagne
    Inscrit en
    Septembre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur aménagement montagne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 13
    Par défaut
    Wahou!!!

    Merci, ca tourne vraiment bien!

    Par contre, dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECALER(RECAP!$A$5:$A$54;0;EQUIV($R$2;RECAP!1:1;0)-1)
    Je ne comprends pas a quoi correspond la plage de cellule RECAP!1:1 ?

    Par ailleurs, j'ai découverts qu'il fallait verrouiller la référence avec $1:$1 pour que les valeurs s'affichent lorsque j'étire la fonction vers le bas afin de lister les moniteurs sur le cours en question.

  10. #10
    Membre Expert
    Avatar de tototiti2008
    Homme Profil pro
    Formateur/développeur
    Inscrit en
    Octobre 2008
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Formateur/développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 165
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Je ne comprends pas a quoi correspond la plage de cellule RECAP!1:1 ?
    C'est la ligne 1 de la feuille RECAP, pourrait se limiter à certaines colonnes avec une plage commençant en A1 sur suffisamment de colonnes pour couvrir toutes les semaines

    Par ailleurs, j'ai découverts qu'il fallait verrouiller la référence avec $1:$1 pour que les valeurs s'affichent lorsque j'étire la fonction vers le bas afin de lister les moniteurs sur le cours en question.
    Oui en effet, erreur de ma part

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/08/2007, 11h07
  2. Réponses: 3
    Dernier message: 19/06/2007, 14h07
  3. Liste le nom des tables
    Par Elstak dans le forum Access
    Réponses: 9
    Dernier message: 21/08/2006, 22h07
  4. fonction qui met en liste les noms des fichiers
    Par aliassaf dans le forum Général Python
    Réponses: 2
    Dernier message: 22/06/2006, 11h50
  5. Réponses: 3
    Dernier message: 08/06/2006, 20h49

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