Comment créer une macro pour sélectionner une case à une intersection?
"A moins de faire autant de classeurs que de classes, j'y vois pas bô surtout si c'est pour Septembre ! Bonjour les vacances..."
Selon moi c'est tout à fait gérable de faire un classeur par classe.
Dès qu'une classe entre, on lance le fichier et il n'y a plus qu'a !
Re
Pour préciser juste une idée: l'envie de déplacer nom et photo vient du fait qu'au cours d'une année il est souvent nécessaire de déplacer les élèves dans la classe et donc sur le plan. Pour autant, les "points" pour chaque comportement doivent pouvoir être ajoutés au tableau malgré les changements de place.
Hum.... je rejoins ce que Galopin vous a écrit.... in fine vous allez in fine avoir une usine à gaz
Gardez en mémoire qu'excel est avant tout un tableau et donc dédié aux calculs et pas à de la gestion d'objets sur une feuille. Mons vous en avez mieux c'est
La vue que je vous ai montrée comporte des photos mais le nom des élèves sont placés dans les cellules. Ce qui permet par exemple de placer une liste déroulante des élèves dans chaque cellule et de faire un choix et de les déplacer comme bon vous semble.
Pour ce qui est des photos dans le tableau je laisserais tomber au profit du nom et prénom.
Mais si vous voulez les gardez, supprimez-les du tableau 1 au profit du tableau 2 par exemple.
Le click dans une cellule de la classe du tableau 1 vous amène dans le tableau 2 avec une photo à coté du nom. Là c'est au moins figé et vous n'avez plus à déplacer des photos dans le tableau 1
"Si l'usage de photos est trop limitant au niveau ressources, je pense que les remplacer via des formes, par exemple un cercle avec le nom à l'intérieur, résoud le problème."
A ce moment je dois faire intervenir un problème tout personnel.
Je suis un prof incapable de retenir les noms et prénoms des élèves ! C'est plutôt handicapant et l'idée de ce fichier/plan de classe pour le suivit des élèves avec photos me semble une bonne voie pour mieux suivre mes élèves....
Merci Dan !
"Pour ce qui est des photos dans le tableau je laisserais tomber au profit du nom et prénom.
Mais si vous voulez les gardez, supprimez-les du tableau 1 au profit du tableau 2 par exemple.
Le click dans une cellule de la classe du tableau 1 vous amène dans le tableau 2 avec une photo à coté du nom. Là c'est au moins figé et vous n'avez plus à déplacer des photos dans le tableau 1"
Cela me semble une bonne alternative si cela permet d'avoir un fichier qui "tourne" correctement.
Peut-être est-il possible en parallèle de permettre en un clic sur la photo du tableau 2 d'être dirigé vers l'emplacement de l'élève dans le tableau 1 pour vérifier sa place (ce ne serait qu'une fonctionnalité supplémentaire, non essentielle dans un premier temps mais qui pourrait rendre des services en classe ;)
NB :
- Pensez à utiliser l'icone "Citation" dans la barre de menu lorsque vous reprenez un texte d'un post précédent. Il vous suffit de copier le texte et de le coller dans la fenêtre qui est affichée en cliquant sur cette icône
- Quelques aides d'utilisation du forum sont disponibles ici --> https://forum.excel-pratique.com/forum/infos-fonctionnalites-sur-le-nouveau-forum-139662
Peut-être est-il possible en parallèle de permettre en un clic sur la photo du tableau 2 d'être dirigé vers l'emplacement de l'élève dans le tableau 1 pour vérifier sa place
Oui c'est tout à fait possible.
1. Où place-t-on le tableau 2 ? le mieux serait à droite de votre classe
2. Combien de colonne et lignes sont à prévoir dans le tableau 1
Rem : Voir la solution que vous choisissez car il y a plusieurs intervenants avec chacun des idées sur votre sujet.
bonjour le fil,
si on réduit le size des photos, voir fichier de Saboh12617 avec un photo
Avez-vous une photo (d'une personne publique pour des raisons de privacy) avec un size de 500kB à 1.5 MB (je suppose que cela est le max permis)
J'imagine qu'il est donc préférable et plus simple de partir sur un fichier organisé ainsi
J'ai l'impression qu'ainsi il "suffit" de pouvoir :
Permettre le déplacement (intervertir) des noms dans le plan
Cliquer sur un nom du plan pour être redirigé vers le tableau 2
Cliquer sur une case du tableau 2 pour augmenter sa valeur de 1
De cette façon, dès qu'un élève intervient en classe, il me sera possible à la volée d'en prendre note et d'avoir en fin de trimestre un bilan chiffré de son attitude en classe.
Est-ce plus facilement réalisable ?
re
Permettre le déplacement (intervertir) des noms dans le plan
Via une liste de validation, vous choisissez qui mettre où dans le plan. Voyez le fichier joint
Cliquer sur un nom du plan pour être redirigé vers le tableau 2
Oui à faire via macro
Sur le plan de classe, faites un double click sur le nom de l'élève pour être dirigé sur la tableau 2
Cliquer sur une case du tableau 2 pour augmenter sa valeur de 1
Ok et si vous voulez décrémenter ? genre erreur ou annuler ....
Rem : ce sera toujours une feuille par classe ?
Oui une feuille par classe. C'est ce qui me semble le plus simple...
En effet, en cas d'erreur j'aurai un problème.
Cela ramène la question suivante:
Comment très rapidement pouvoir ajouter +1 à une case (ou diminuer/corriger)
Je me demande alors si, lorsque l'on est redirigé vers le tableau 2, il est possible qu'un "pop up" de "boutons" permettre de faire un choix pour ajouter ou retirer un point dans l'une des cases?
Pour l'intervertion des élève votre proposition peut être OK
Je manquerai d'une validation des élèves concernés par une photo mais avec le double clic je pourrais faire la vérification si nécessaire
Merci
Oui une feuille par classe. C'est ce qui me semble le plus simple...
Ok. Est-ce ce classeur ne comportera que des classes et quel nom allez-vous attribuer à chaque feuille ?
Comment très rapidement pouvoir ajouter +1 à une case (ou diminuer/corriger)
On peut ajouter 1 au double clic dans la cellule et diminuer de 1 via le click droite dans la cellule par exemple
Donc pas de pop-up
Je pense soit à un onglet par classe (ce qui serait plus pratique! chaque feuille aurait le nom de la classe (ex: "5eme 2") Un seul fichier à ouvrir et toutes mes données centralisées; passage d'une classe à l'autre via les feuilles au cours de la journée), soit un fichier par classe (si c'est plus facile!).
Pour le +1/-1 avec dbl-clic ou clic droite cela me semble parfait!
Je pense soit à un onglet par classe (ce qui serait plus pratique! chaque feuille aurait le nom de la classe (ex: "5eme 2")
Ok mais
1. Le nom de l'onglet sans espace. Donc ceci plutôt --> 5eme-2 (les espaces c'est toujours à éviter en informatique et avec VBA aussi).
2. ma question essentielle à laquelle vous n'avez pas répondu --> Est-ce ce classeur ne comportera que des classes
soit un fichier par classe (si c'est plus facile!).
Non 1 seul fichier c'est bon et plus simple
NB : Au fait pourquoi mettez-vous le titre classe en C19 ? ce n'est pas plutôt Eleve ou nom eleve ?
Super!
Bien noté pour le nom des feuilles ;)
En effet, il n'y aura que des classes dans ce document.
Je ne souhaite le créer que pour avoir les plans de classe, les liste d'élèves et mes annotations de comportement.
Pour la C19 c'est en effet une erreur de ma part. J'avais réalisé ce petit tableau "à la va vite" et je n'ai pas vérifié visiblement !
Votre fichier en retour.
1. Plan de classe :
si vous ajoutez des lignes, veillez à les insérer entre les lignes où vous ajoutez des noms (ici entre 4 et 8). De cette sorte, vous conserverez les listes déroulantes dans chacune des cellules.
2. Liste des classes :
- Lors d'ajout de noms, vous ajoutez en dessous de la dernière cellule (ici C22). Ainsi les listes déroulantes du plan de classe pour l'ajout des noms seront actualisées
- Vous devez toujours commencer le premier nom en cellule C20
3. Ajout feuille : Lorsque vous ajouterez une nouvelle feuille de classe, dupliquez la feuille actuelle et renommez-la. Cela conservera la même structure pour que les codes fonctionnent.
Petit truc : Pour dupliquer facilement une feuille, cliquez sur le nom de l'onglet et tout en maintenant la touche souris appuyée, appuyez sur la touche CTRL de votre clavier (vous devez voir une icone avec un petit + qui s'affiche). Ensuite déplacez la feuille puis relâchez la souris et la touche CTRL. IL vous reste à renommer l'onglet ainsi créé.
4. Fonctionnement des codes :
- Double click sur un nom dans le plan de classe vous amène sur le nom dans le tableau 2.
- pour ajoutez, double click dans 1 des colonnes à droite du nom
- pour soustraire, click droite dans 1 des colonnes à droite du nom
Nb :
- les codes sont placés dans l'éditeur VBA dans Thisworkbook
- les plages définies sont placées le menu excel --> Formules --> gestionnaire de noms
Si ok et terminé pensez à cloturer le fil
Je suis admiratif et vraiment très reconnaissant.
MERCI BEAUCOUP !
Le tout est déjà tout à fait fonctionnel et c'est vraiment top!
Je me permets quelques questions complémentaire:
Me sera-t-il possible d'ajouter de nouvelles colonnes à mon tableau 2?
Au fil du temps, il est possible que j'évalue/observe d'autres points d'attitude en classe.
Pourrai je alors utiliser les colonnes H,I,J etc.
Je ne pense vraiment pas qu'il y en aura beaucoup plus mais cela reste possible...
Lorsque je me retrouve en bas de mon tableau 2, je n'ai plus le nom des colonnes.
A force d'utilisation, j'imagine que je les aurai en tête, toutefois lors d'une séance agitée ou très rythmée les erreurs pourraient plus facilement survenir sans ces noms de colonne.
Est-il possible d'y remédier ?
Me sera-t-il possible d'ajouter de nouvelles colonnes à mon tableau 2?
Au fil du temps, il est possible que j'évalue/observe d'autres points d'attitude en classe.
Pourrai je alors utiliser les colonnes H,I,J etc.
Je ne pense vraiment pas qu'il y en aura beaucoup plus mais cela reste possible...
Oui c'est possible mais là je dois repenser ce que je vous ai proposé.
Lorsque je me retrouve en bas de mon tableau 2, je n'ai plus le nom des colonnes.
A force d'utilisation, j'imagine que je les aurai en tête, toutefois lors d'une séance agitée ou très rythmée les erreurs pourraient plus facilement survenir sans ces noms de colonne.
Est-il possible d'y remédier ?
Je suppose que vous parlez des titres ?
Vous pouvez diviser votre feuille en deux en vous plaçant d'abord en A20 puis menu Affichage --> icone Figer les volets
A voir si cela convient à l'utilisation....
En observant le tableau que vous avez réalisé, je prends conscience qu'excel doit (j'imagine) pouvoir remplir une case en fonction des chiffres obtenus dans le tableau 2.
J'ai rédigé dans plusieurs tableaux (participation, bavardage etc.) les annotations que j'inscrirais dans l'appréciation des élèves dans le bulletin en fonction des chiffres obtenu dans le tableau 2.
Je suis curieux de savoir s'il est possible que la case "appréciation" d'un élève soit automatiquement remplie par l'association des différentes remarques ?
Par ailleurs, j'ai jeté un oeil au VBA que vous avez produit.
C'est fascinant ! Mais je n'y comprends absolument rien.... et j'aime comprendre!
Pourriez vous me conseiller un ouvrage afin que je puisse commencer à me former? Votre travail sur ce projet nécessite-t-il énormément de connaissances et de recul ou est-ce à la portée d'une personne motivée et prête à s'y mettre quelques heures par semaine/mois?
- Il faut d'abord en premier savoir si vous agrandissez le tableau 2 ou pas. Ou alors déjà prévoir des colonnes supplémentaires
- Si on ne les ajoute pas maintenant, il faudra absolument ne pas oublier d'insérer les nouvelles colonnes dans le tableau 2 et donc non pas ajouter à la suite. Là j'adapterai le code pour que l'ajout par insertion soit directement pris en considération. Donc ce n'est pas un souci pour moi et de ce coté la nouvelle version est prête
- Ensuite comment allez vous définir l'appréciation finale ? Somme des valeurs dans les colonnes ? Donnez un exemple que je comprenne
Pourriez vous me conseiller un ouvrage afin que je puisse commencer à me former? Votre travail sur ce projet nécessite-t-il énormément de connaissances et de recul ou est-ce à la portée d'une personne motivée et prête à s'y mettre quelques heures par semaine/mois?
Mettons qu'il faut connaitre les instructions nécessaires mais n'oubliez jamais que l'enregistreur de macro automatique d'excel est toujours d'une grande aide au départ. J'ai commencé comme cela il y a des années....
Après on adapte pour rendre le code plus simple
Voyez ces quelques liens dans lesquels j'avais, en son temps, répondu à une question similaire
--> mon intervention du Ven Oct 31, 2008 1:18 pm --> https://forum.excel-pratique.com/s/goto/45708
--> dans ce fil --> https://forum.excel-pratique.com/s/goto/1170136
Pour donner un avis personnel, il existe une multitude de support de formations en VBA pour Excel. Personnellement, j'ai découvert ce forum/site récemment (via sa partie anglaise) et je dois dire que les tutoriels y sont très pertinents.
Il existe donc ici https://www.excel-pratique.com/fr/vba/introduction un guide qui vous fournira de bonnes bases en VBA.
J'ajouterai 2 points que je juge fondamentaux :
Une bonne maitrise de l'anglais est un enorme "+" pour appréhender le VBA. Vous vous rendrez rapidement compte que c'est un language très clair si vous comprenez l'anglais. Les noms des objets correspondent. Ainsi un classeur sera un workbook, une feuille une worksheet, une cellule une cell, une valeur une value... Meme sans en connaitre toutes les subtilités, on peut comprendre le code VBA facilement car il a été créé dans cette optique : s'adresser aux programmeurs débutants.
Ensuite etre curieux, et NE PAS HESITER A UTILISER INTERNET, vraiment.
Mais comment utiliser internet me direz-vous ? Si j'écris "je veux un programme VBA pour gérer ma classe" bien sur je risque d'etre décu.
Il faut réfléchir, comme tout language de programmation, de manière algorithmique. Càd bien segmenter les taches à effectuer, et les définir de manière simple et précise. C'est ce que vous avez pu observer sur ce fil avec les nombreuses demandes qui vous ont été faites.
Ensuite, quand cela est fait, passer au code est simple, et à ce moment on peut utiliser internet. Un exemple :
Vous vouliez cliquer sur une photo d'élève et que le classeur vous renvoie vers une case contenant ce nom. Ceci s'ancre parfaitement dans les segments que je mentionnais : simple et précis. Maintenant comment faire ? et bien moi non plus je ne le savais pas, donc j'ai effectué une petite recherche Google : VBA Excel comment recuperer le texte contenu dans une forme
Et là les procédures sont disponibles, encore une fois en anglais vous trouverez bien plus de ressources.
Ainsi pour finir : les livres il en existe des milliers, mais ce qui compte surtout c'est a) la pratique/l'entrainement et b) la manière de réfléchir à résoudre un problème :
1. Définir l'objectif final recherché, 2. Définir les taches à accomplir pour y arriver (style organigramme), 3. coder et se référer aux nombreuses aides disponibles pour des questions précises.