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

Excel Discussion :

Récupérer l'adresse de la dernière colonne non vide pour l'insérer dans une formule (sans VBA)


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 8
    Par défaut Récupérer l'adresse de la dernière colonne non vide pour l'insérer dans une formule (sans VBA)
    Bonjour à tous.

    J'essaie (je débute alors c'est certainement pas très propre comme contenu !) de faire un fichier (en pj) à destination de mes collègues enseignants et je coince sur une fonctionnalité.

    L'idée est d'afficher, dans la feuille "Détails classe selon groupe" les prénoms/noms d'élèves qui vérifient une condition donnée.
    Pour cela, j'ai récupéré dans la feuille "Calculs" le numéro de colonne des élèves qui répondent à cette condition, avec la formule =SI(INDIRECT(ADRESSE('Détail classe selon groupes'!$J$27;COLONNE());1)<='Synthèse élève'!$G$6;COLONNE();"") et, avec =SI(ESTERREUR(PETITE.VALEUR(Calculs!$D108:$CU108;COLONNE()-11));"";INDIRECT("Calculs!"&ADRESSE(2;PETITE.VALEUR(Calculs!$D108:$CU108;COLONNE()-11));1)), j'ai ce que je souhaite.
    Calculs!$D108:$CU108 est la page dans laquelle figurent tous les numéros de colonne ; mais CU108 n'est pas nécessairement la limite de cette plage car le fichier est fait pour traiter les résultats de 400 élèves (donc potentiellement jusqu'à OM108) et cette limite varie en fonction du nombre d'élèves dont les résultats sont entrés dans la feuille "A remplir" (je ne sais pas si je suis très clair )

    Dans la formule =SI(ESTERREUR(PETITE.VALEUR(Calculs!$D108:$CU108;COLONNE()-11));"";INDIRECT("Calculs!"&ADRESSE(2;PETITE.VALEUR(Calculs!$D108:$CU108;COLONNE()-11));1)), il faudrait donc que le CU108 s'adapte automatiquement en fonction de la dernière colonne non vide de la feuille "A remplir". Je pensais naïvement (lol) mettre OM108 à la place mais cela a pour conséquence de ne plus faire apparaître un seul prénom/nom...

    Merci d'avance pour les pistes et l'aide apportée.

    Guillaume
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Pour trouver la dernière colonne non vide par rapport à la ligne 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MAX(COLONNE(Calculs!2:2)*(Calculs!2:2<>""))
    Formule matricielle à valider avec CRTL + SHIFT + ENTREE

    Cdlt

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 8
    Par défaut
    Bonjour et merci de la réponse rapide !

    Il faudrait par conséquent que je décale mes données car au bout de la plage D108:OM108 figurent d'autres données, ça va fausser le résultat j'imagine. Je vais essayer. En tous cas, merci pour la réponse.

    Edit : Je m'aperçois que ça donne le numéro de la colonne, mais pas son nom

    Pour appeler, à la place de CU108, ce résultat dans la formule =SI(ESTERREUR(PETITE.VALEUR(Calculs!$D108:$CU108;COLONNE()-11));"";INDIRECT("Calculs!"&ADRESSE(2;PETITE.VALEUR(Calculs!$D108:$CU108;COLONNE()-11));1)), quelle est la démarche ?

    Encore merci par avance.

    Cordialement,

    Guillaume

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 548
    Par défaut
    Bonjour

    Une formule ne peut calculer à partir de cellules contenant des erreurs d'où l'absence de noms dès qu'on dépasse CU

    De façon générale ton classeur est tout sauf lisible et probablement inmaintenable. Vu le nombre de cellules calculées et la taille des matrice sur lesquelles portent les calculs, cela risque de plus de ramer...

    Comme dans une base de données, dans un tableur on évite de gérer les données en colonnes pour privilégier les lignes : il faudrait a minima inverser la logique du tableau A remplir

    Quelle version Excel utilises-tu ?

    Tout cela pourrait être calculé par TCD...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 8
    Par défaut
    Bonjour et merci de la réponse rapide. La version d'Excel est 2016.

    Je ne doute pas de l'illisibilité du classeur et du reste Je fais seulement et modestement avec les moyens qui sont les miens et c'est peu !

    La logique du tableau provenait de celle du tableau originale de résultats bruts fourni par le MEN, avec les résultats donnés à l'identique de la feuille A remplir, à partir duquel on ne peut rien faire d'autre et l'idée était de proposer des outils où les collègues n'auraient qu'à copier/coller les données brutes fournies par le MEN.

    J'entends bien que le TCD pourrait être un outil bien plus puissant et adapté, mais je maitrise encore moins que le reste. Néanmoins, je suis ouvert à toutes les pistes !

    Encore merci pour la réponse !

    Guillaume

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 548
    Par défaut
    RE

    On peut t'aider mais quand je décortique ton exemple plusieurs choses m'interpellent :
    1. tu as des 0 et des 1 : que se passe t-il si un élève n'a pas fait un des exercices (absent par exemple ?). Si on met 0 cela fausse l'évaluation de l'élève d'une part, tous les ratios d'autre part (élève et ensemble)
    2. tu mets la moyenne en % : cela parait erroné. Si on veut calculer le ratio des acquis(1)/nombre d'exercices ce n'est pas avec moyenne qu'il faut le faire
    3. tu réalises des moyennes de moyennes ce qu'il faut éviter car, dans la majorité des cas, cela est mathématiquement faut (rejoint le point 1)


    Peux-tu préciser les 2 premiers points.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 8
    Par défaut
    Bonjour à nouveau et merci pour ce second retour.

    Pour la gestion des absences, je n'ai pas de solution. Le fichier de données brutes met ABS, ce qui va causer des problèmes. Je n'ai aucune idée de comment gérer, si ce n'est de dire qu'il ne faut pas copier/coller les résultats d'un élève absent en partie.
    Pour ce qui est des moyennes de moyennes, c'est une erreur que j'ai corrigée depuis. Pour la moyenne en %, c'est encore une fois le fichier d'origine qui propose.

    J'ai réglé mon problème précédent en remplaçant les #DIV/0! avec la fonction SIERREUR ; je peux désormais indiquer la plage maximum.

    Merci encore pour l'aide.

  8. #8
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 548
    Par défaut
    RE

    Abs ne gène pas la plupart des fonctions. Notamment la fonction MOYENNE va l'ignorer et être correcte mais pas une division de la somme par le nombre sauf à bien différencier NB de NBVAL. On peut aussi laisser la cellule vide.

    L'absence d'un élève n'est pas neutre pour les moyennes et les ratios car c'est le nombre de "notes" qui doit moduler les calculs et il faut donc que chaque ratio soit pondéré selon le nombre de notes depuis le niveau unitaire jusqu'aux syntèses de plus haut niveau.
    Le TCD fait cela naturellement...

    Si on retourne le tableau (exercices en colonnes, élèves en lignes, qu'on le prétraite avec PowerQuery (intégré à 2016), on doit pouvoir tout faire ou quasiment par TCD avec quelque chose de
    • plus facile à exploiter : 114 colonnes c'est déjà beaucoup mais 400 lignes ce n'est rien
    • plus lisible
    • surtout plus sûr en termes de résultats (j'ai des différences dues aux absents).


    Sur les derniers tests les 3 premières lignes de "Exercice 6 : Lire à voix haute un texte". Elles ne servent à rien ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/09/2018, 05h08
  2. Réponses: 7
    Dernier message: 18/06/2015, 12h54
  3. Réponses: 3
    Dernier message: 21/07/2014, 21h35
  4. numéro de la derniére colonne non vide
    Par michelp38 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/04/2011, 15h08
  5. Obtenir la lettre de la derniere colonne non vide pour faire un tri.
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/10/2007, 15h25

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