Une fonction dépendante de la feuille
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
Une fonction dépendante de la feuille
Bonjour,
J'ai un fichier tableur contenant 36 feuilles
je voudrais appeler une fonction sur une cellule qui dépend de la feuille.
Pour faire simple chaque feuille appelle une cellule différente appartenant à la première feuille.
je n'arrive pas à effectuer un copier/coller pour aller plus vite
(la cellule n'est pas modifiée en fonction de la feuille)
J'ai donc décidé de passer par la fonction feuille()
Mais je ne peux pas nommer une celulle au travers d'une fonction (tout au moins, je n'y arrive pas)
je voudrais appeller une cellule du genre
=A1 sur la feuille 1
=A2 sur la feuille 2
etc ...
donc je voudrais donc utiliser un truc du genre
=A(feuille())
Avez vous une solution à me proposer.
Merci
J'ai un fichier tableur contenant 36 feuilles
je voudrais appeler une fonction sur une cellule qui dépend de la feuille.
Pour faire simple chaque feuille appelle une cellule différente appartenant à la première feuille.
je n'arrive pas à effectuer un copier/coller pour aller plus vite
(la cellule n'est pas modifiée en fonction de la feuille)
J'ai donc décidé de passer par la fonction feuille()
Mais je ne peux pas nommer une celulle au travers d'une fonction (tout au moins, je n'y arrive pas)
je voudrais appeller une cellule du genre
=A1 sur la feuille 1
=A2 sur la feuille 2
etc ...
donc je voudrais donc utiliser un truc du genre
=A(feuille())
Avez vous une solution à me proposer.
Merci
Linux / Mandriva 2007
OOo 2.0.4
OOo 2.0.4
-
- GourOOu
- Messages : 9629
- Inscription : 18 sept. 2006 09:40
- Localisation : France
Bonjour et bienvenue,
Tout d'abord, tu devrai renseigner précisément ta version d'OOo ; on est à la version 2 depuis...la 2 puis 2.0.1, 2.0.2,2.0.3,2.0.4 et la toujours en version 2 avec la 2.1 (site officiel de téléchargement : http://fr.openoffice.org/about-downloads.html)
Pour renseigner précisement ta version : http://user.services.openoffice.org/fr/ ... 41.html#41 à lire jusqu'au bout
Concernant ta question, tes cellules sur ta première feuille sont donc (j'imagine) adjacentes, as-tu été voir du côté d'une fonction INDIRECT, peut être, ça peut être une piste...
A +
Tout d'abord, tu devrai renseigner précisément ta version d'OOo ; on est à la version 2 depuis...la 2 puis 2.0.1, 2.0.2,2.0.3,2.0.4 et la toujours en version 2 avec la 2.1 (site officiel de téléchargement : http://fr.openoffice.org/about-downloads.html)
Pour renseigner précisement ta version : http://user.services.openoffice.org/fr/ ... 41.html#41 à lire jusqu'au bout
Concernant ta question, tes cellules sur ta première feuille sont donc (j'imagine) adjacentes, as-tu été voir du côté d'une fonction INDIRECT, peut être, ça peut être une piste...
A +
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
Pour décrire mon prjet, je vais dire que c'est la gestion des notes d'un bac blanc
la première page regroupe toutes les notes et applique des coef pour calculer la moyenne.
Les pages suivantes décomposent les résultats élève par élève, de façon à imprimer une feuille par élève avec ses résultats individuels, et à leur donner leur résultat potentiel au bac.
Voilà.
Sinon qu'appelle tu des fonctions indirect ?
PS : je ne suis pas un blaireau , mais je n'ai jamais touché au starbasic (mais je connais les bases de la programmaytion dans d'autre langage si besoin)
la première page regroupe toutes les notes et applique des coef pour calculer la moyenne.
Les pages suivantes décomposent les résultats élève par élève, de façon à imprimer une feuille par élève avec ses résultats individuels, et à leur donner leur résultat potentiel au bac.
Voilà.
Sinon qu'appelle tu des fonctions indirect ?
PS : je ne suis pas un blaireau , mais je n'ai jamais touché au starbasic (mais je connais les bases de la programmaytion dans d'autre langage si besoin)
Linux / Mandriva 2007
OOo 2.0.4
OOo 2.0.4
-
- GourOOu
- Messages : 9629
- Inscription : 18 sept. 2006 09:40
- Localisation : France
C'est LA (ou THE pour parler jeune) fonction INDIRECT, qui est souvent combinée avec une fonction ADRESSE pour "générer" des adresses de cellules (tape dans l'aide d'OOo Calc indirect puis sélectionne Fonctions de classeur pour suivre cette idée).
Sinon, si ton fichier n'est pas confidentiel (ou si tu modifie tous les éléments confidentiels) tu as, sur ce forum, la possibilité de joindre un fichier (Ci-Joint est sous la bannière du forum, n'oublie pas de copier/coller le lien de Ci-Joint dans ton post en réponse).
Vu ce que tu décris dans ton premier post, en "tirant" la poignée de recopie tu n'obtiens pas le résultat désiré :
- maitrises-tu les référence relatives et absolues ? (désolé si la question parait stupide, mais j'ai aucune idée de ce que tu sais )
- les cellules de ta première page où tu veux piocher sont elles les unes en dessous des autres ?
Sinon, si ton fichier n'est pas confidentiel (ou si tu modifie tous les éléments confidentiels) tu as, sur ce forum, la possibilité de joindre un fichier (Ci-Joint est sous la bannière du forum, n'oublie pas de copier/coller le lien de Ci-Joint dans ton post en réponse).
Vu ce que tu décris dans ton premier post, en "tirant" la poignée de recopie tu n'obtiens pas le résultat désiré :
- maitrises-tu les référence relatives et absolues ? (désolé si la question parait stupide, mais j'ai aucune idée de ce que tu sais )
- les cellules de ta première page où tu veux piocher sont elles les unes en dessous des autres ?
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
La fonction ADRESSE me rend bien service, c'est magnifique.
Bon j'ai encore un soucis.
La fonction que j'utilise était :
=SI(ESTVIDE($Bac_blanc1.A4);"";$Bac_blanc1.A4)
elle devient :
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";ADRESSE(FEUILLE();1;;1))
Mon soucis actuel vient du fait que cette formule n'affiche pas le contenu de la cellule : ADRESSE(FEUILLE();1;;1)
mais son nom : 1.$A$3
Je pense qu'il doit y avoir un truc. Mais j'avoue que là, même avec la fonction INDIRECT j'ai pas réussi.
Pour répondre à tes quetsions : oui je maîtrise les liens absolus et relatifs
Le fichier est disponible ici
http://kobold.myftp.org/download/lycee/ ... lanc02.ods
Bon j'ai encore un soucis.
La fonction que j'utilise était :
=SI(ESTVIDE($Bac_blanc1.A4);"";$Bac_blanc1.A4)
elle devient :
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";ADRESSE(FEUILLE();1;;1))
Mon soucis actuel vient du fait que cette formule n'affiche pas le contenu de la cellule : ADRESSE(FEUILLE();1;;1)
mais son nom : 1.$A$3
Je pense qu'il doit y avoir un truc. Mais j'avoue que là, même avec la fonction INDIRECT j'ai pas réussi.
Pour répondre à tes quetsions : oui je maîtrise les liens absolus et relatifs
Le fichier est disponible ici
http://kobold.myftp.org/download/lycee/ ... lanc02.ods
Linux / Mandriva 2007
OOo 2.0.4
OOo 2.0.4
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Bonjour
Pour obtenir le contenu d'une cellule dont on passe les références :
Sinon, la syntaxe pour ADRESSE est :
où Feuille représente le nom de la feuille. Il doit être placé entre guillemets.
Pour obtenir le contenu d'une cellule dont on passe les références :
Code : Tout sélectionner
=CELLULE("contents";A1)
Code : Tout sélectionner
ADRESSE(Ligne;Colonne;ABS;Feuille)
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
il y a un truc qui cloche.... mais quoi ?
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";ADRESSE(FEUILLE();1;;1))
me renvoi
1.$A$3
donc j'ai utilisé la fonction CELLULE
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";CELLULE("contents";ADRESSE(FEUILLE();1;;1)))
mais ici; ça me renvoi
#REF
Ce qui fonctionne avec la fonction ESTVIDE ne fonctionne pas avec la fonction CELLULE
edit :
j'ai la solution... la fonction INDIRECT
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";INDIRECT(ADRESSE(FEUILLE();1;;"bac_blanc1")))
me renvoi le bon résultat
merci de votre aide.
J'ai du faire une erreur, mais je ne vois pas où.
merci de votre aide
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";ADRESSE(FEUILLE();1;;1))
me renvoi
1.$A$3
donc j'ai utilisé la fonction CELLULE
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";CELLULE("contents";ADRESSE(FEUILLE();1;;1)))
mais ici; ça me renvoi
#REF
Ce qui fonctionne avec la fonction ESTVIDE ne fonctionne pas avec la fonction CELLULE
edit :
j'ai la solution... la fonction INDIRECT
=SI(ESTVIDE(ADRESSE(FEUILLE();1;;1));"";INDIRECT(ADRESSE(FEUILLE();1;;"bac_blanc1")))
me renvoi le bon résultat
merci de votre aide.
J'ai du faire une erreur, mais je ne vois pas où.
merci de votre aide
Linux / Mandriva 2007
OOo 2.0.4
OOo 2.0.4
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re...
A priori, c'est ici qu'intervient de nouveau INDIRECT, par exemple
EDIT après coup : mystère des flus RSS ? bien qu'ayant rafraîchi les entrées, et prévisualisé les messages avant de poster, ton message de résolution ne m'apparaissait pas, d'où ce dernier post qui est donc "après la bataille".
Le principal est que la question soit résolue
A priori, c'est ici qu'intervient de nouveau INDIRECT, par exemple
Code : Tout sélectionner
=ESTVIDE(INDIRECT(ADRESSE(1;1;0;"Feuille1")))
Le principal est que la question soit résolue
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
non, justement j'ai essay"é la fonction estvide sur un valeur transmise via indirect et ça donne rien.
j'ai me suis débrouillé avec un =0
mais du coup je ne fais plus la différence entre pas de note et 0
ce qui est génant.
--
edit : je dis des bétises parce que je vais trop vite en besogne, je suis en trainde faire des tests, il y a des choses étrange... mais la fonction estvide fonctionne
l'erreur venait de moi
j'ai me suis débrouillé avec un =0
mais du coup je ne fais plus la différence entre pas de note et 0
ce qui est génant.
--
edit : je dis des bétises parce que je vais trop vite en besogne, je suis en trainde faire des tests, il y a des choses étrange... mais la fonction estvide fonctionne
l'erreur venait de moi
Linux / Mandriva 2007
OOo 2.0.4
OOo 2.0.4
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 23 janv. 2007 21:17
Non les deux points virgules sont corrects, c'est parce qu'il existe un valeur par défaut abs qu'on est pas oblgé inclure dans la formule.
En fait j'ai des formules assez complexes et au bout d'une moment on a du mal à prendre du recul sur l'écran.
Bref au final j'ai résolu quasiment tous mes problèmes.
Ceux qui me restent sont d'ordre conceptuel et plus sur le plan des formules.
Le fichier qui est sur mon serveur et le fichier tel que je l'ai finalisé.
Il ne me reste plus qu'à traiter le cas des option, mais là faut que je réfléchisse.
je vais ouvrir un autre fil pour une autre question.
En fait j'ai des formules assez complexes et au bout d'une moment on a du mal à prendre du recul sur l'écran.
Bref au final j'ai résolu quasiment tous mes problèmes.
Ceux qui me restent sont d'ordre conceptuel et plus sur le plan des formules.
Le fichier qui est sur mon serveur et le fichier tel que je l'ai finalisé.
Il ne me reste plus qu'à traiter le cas des option, mais là faut que je réfléchisse.
je vais ouvrir un autre fil pour une autre question.
Linux / Mandriva 2007
OOo 2.0.4
OOo 2.0.4
-
- IdOOle de la suite
- Messages : 25181
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Si je peux me permettre un conseil : tu peux éclater ta formule sur plusieurs cellules et les masquer ensuite.kobold a écrit :En fait j'ai des formules assez complexes et au bout d'une moment on a du mal à prendre du recul sur l'écran.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues