Formule: Se référer a une feuille par sa position?
Bonjour
Voici une partie de mon problème
Bonjour, après ma présentation, mon problème
J'ai 2 classeurs: MARKS et LIVRET
MARKS a 7 feuilles nommées 5-1 , 5-2 , ..... 5-7 (des classes)
LIVRET est un fichier qui doit être généré a la fin de l’année scolaire pour chaque classe et chaque matière (soit 42 x 3 différents LIVRETs)
LIVRET sera composé de plusieurs feuilles, mon souci aujourd'hui sont les deux premières feuilles: la 1ere sera copiée de MARKS.
Par exemple 5-1 sera la feuille (1) de LIVRET de 5-1 , la seconde feuille fait le récapitulatif des notes de 5-1 pour faire le classement de cette classe.
Pour le moment j'utilise une formule comme celle ci dans une des 500 cellules
=IF(OR(5-1!P6="-"; $F$5="-"); "-";ROUND((5-1!P6*'Final Marks'!$F$5/5-1!$P$5);0))
Cela fonctionne , j'ai ce que je veux MAIS il va falloir que je remplace la feuille 5-1 par 5-2 pour générer le LIVRET pour 5-2
plutôt qu’écrire le nom "5-1" dans la formule peut-on écrire sheet1 (la première feuille) ou la feuille juste avant celle ci
A moins qu'il faille définir un nom ?
Merci
ps: merci pour ce forum, depuis 6 mois, j'ai beaucoup progressé sur excel et VBA. Il est vrai je partais de zero !
Salut,
Ta demande n’est pas des plus claire, ne t’étonne donc pas de n’avoir encore reçu aucune réponse.
Tu nous as fourni un fichier nommé très exactement « Report (Lvl-0 Math)Macro », mais il n’a apparemment rien à voir avec les deux fichiers mentionnés « MARKS » et « LIVRET » ; en tout cas on n’y retrouve pas de prime abord les feuilles mentionnées dans ton texte.
Selon ce que j’ai compris, les différents fichiers « LIVRET » sont générés sur la base du fichier « MARKS ». Fournis-nous alors ton fichier « MARKS » de base ainsi qu’un exemple de fichier « LIVRET » généré sur cette base.
Ce sera alors très certainement possible de te comprendre un peu mieux.
Dans tous le cas, soit extrêmement précis lorsque tu désignes les fichiers, les feuilles, les plages de cellules, etc. ; nous n’avons pas l’habitude de travailler avec tes fichiers et nous n’avons pas la connaissance de ton environnement de travail, nous avons alors besoin de références exactes.
Cordialement.
Désolé ,
je réalise que ce n'était pas clair.
Je reprends plus simplement , J'ai un fichier (Report(Lvl-0 Math) Macro)
les cellules de la 2eme feuille font référence à la 1ere feuille (actuellement le nom de la feuille 1 est MARKS)
( par exemple ROUND((Marks!P6*'$F$5/Marks!$P$5);0))
je veux pouvoir copier une autre feuille (nommé 5-2) d'un autre classeur à la place de la 1ere feuille,
Hélas les formules font référence a MARKS donc Bug . J'aimerai savoir si dans les formules on peut faire référence a une feuille non par son nom mais par sa position.
( ROUND((feuille1!P6*'$F$5/feuille1!$P$5);0))
Ai-je été plus clair ?
Re,
Lorsque tu parles de la première, de la deuxième feuille, ça manque de précision. Ces feuilles portent un nom, il vaudrait mieux les utiliser afin d’éviter la confusion.
Je ne pense pas que ta demande soit réalisable. Par contre, avant de passer aux macros, tu pourrais utiliser la fonction INDIRECT avec le nom de la feuille à tenir compte inscrit dans une cellule.
Je m’explique : dans le fichier ci-joint, tu as des formules sur la FeuilC, soit une formule inscrite en A2 et incrémentée vers le bas. Sur cette même feuille, tu peux modifier le nom inscrit dans la cellule A1 et selon que tu inscrives "FeuilA" ou "FeuilB", les formules renvoient d’autres résultats.
Si tu ajoutes une feuille nommée par exemple "Feuil4" (par simple clic sur le dernier onglet visible), que tu y inscris des données dans la colonne A, que tu retournes sur la "FeuilC" et que tu inscrits "Feuil4" en A1, tes formules dans les cellules en vert renverront les bonnes valeurs de la "Feuil4".
Est-ce une piste ?
Attention : Si tu as des espaces dans les noms des feuilles, la manière d’écrire les formules est bien plus compliquée. Evite donc de laisser des espaces dans ces noms (espace à remplacer par exemple par des soulignés).
A te relire.
Merci pour l'aide
Je ne pense pas que que la fonction INDIRECT répondra à mes attentes. Je vais devoir passer par une macro
je vais m'y mettre cette semaine , j'aurai surement besoin de votre aide pour certaines étapes
Mais cela est une autre histoire.
Re-bonjour,
Si tu remplaçais – partout où tu as des formules sur ta feuille « Sheets3 » et probablement en grande partie par simple incrémentation - la référence à la feuille « Marks » par une référence indirecte à une cellule quelconque de cette feuille et que tu modifiais à chaque fois que importe une nouvelle feuille les références inscrites dans cette cellule, tu aurais quand même résolu ton problème assez facilement.
Maintenant je t’avais bien indiqué que ceci était une solution intermédiaire avant une macro. Mais cette macro risque quand même d’être assez compliquée à mettre en place également ; peut-être même plus que ma solution ci-dessus
Dans quelle région du globe travailles-tu ?
Amicalement.
Je vais créer une macro basée sur un classeur LIVRET (complet fonctionnel) , la macro copiera ce LIVRET dans un autre fichier et y insérera les feuilles qui manquent en changeant au passage leurs noms pour que mes formules fonctionnent correctement.
J'ai l'idée générale, j'ai déjà fait qq chose d'approchant.... plus simple certes
A l'ouverture du fichier , il demandera, le niveau (1 a 6), et le nom du prof. 7 fichiers (un par classe) seront alors créer à partir du LIVRET et d'un autre fichier présent dans le répertoire puis ils seront sauvegardés sous un nom défini en fonction du niveau et de la classe
Sinon , je suis prof de math en Thailande (en anglais)
A la bonne heure
Mais par rapport à ta demande première, ma proposition tient la route.
Merci pour ta réponse au sujet de ta localisation
Bonne continuation.
Je viens de réfléchir a mon problème et degoogleer également.
je me suis rendu compte que mes formules (sur FINAL_MARKS) qui font référence a ma feuille MARKS se trouvent fort dépourvu lorsque je décide de :
supprimer la feuille MARKS , puis insérer une autre feuille, en la renommant MARKS ...
Et bien les formules ont toutes une %*&@) idée d'avoir #REF dedans.
Je dois donc trouver une méthode un peu moins Barbe bleue (En supprimer une qui ne me plait plus pour la remplacer par une neuve)
La fonction INDIRECT , je cherche je cherche mais je ne vois pas l'avantage . ..... A moins que je copie toutes les feuilles (au nombre de 42) et que .... peut être . Je vais creuser
Salut,
Comme tu as toujours indiqué que tu allais réalisé la macro toi-même, je ne me suis jamais penché sur cette variante. Mais as-tu besoin d'aide à ce niveau ? Si oui, il faut le dire clairement
Cordialement.
J'en aurais surement besoin mais je veux démarrer seul .
Si j'ai un souci ou un bug, je la montrerais.
Cette macro n'est pas urgente urgente, je dois réfléchir a ce qu'elle doit faire exactement et complétement.
Je repasserais , Merci Yvouille