OVH Cloud OVH Cloud

répercusion d'une base de données

47 réponses
Avatar
Emma
Bonsoir,

question simple: Est-il envisageable, lorsque j'ajoute une ligne dans une
base de données (classeur 1), que celle-ci se répercuté dans un autre
fichier (classeur 2), en lieu et place?

ex: j'ai une liste de noms dans ma base de données et MARC s'ajoute à la
liste (en plein milieu). Vais-je le retrouver dans une liste qui prend en
référence la base?

Merci

Emma

10 réponses

1 2 3 4 5
Avatar
LSteph
Re,

Sans plus de formalisme, voici ce que cela me suggère dans la mesure
où je n'ai pas encore forcément tout compris.

Dois-je bien déduire que tu récupères dans récapitulatif les noms des
élèves de la liste qui est dans Info, par formule et
la note tu la mets manuellement,... ?

Ces deux éléments ne sont donc pas liés, la note ne prend référence
nulle part, ...elle sera donc seulement là où tu la mets.

Aussi si tu insère une ligne Alfred dans la liste INFOS juste avant Amélie
=INFOS!$F29 remplace =INFOS!$F28 et ni Amélie ni sa note de l'item 153
n'ont bougé
Comme tu as mis ce récap dans l'autre sens (transposé) c'est donc une
colonne qu'il faut ajouter avant Amélie pour y mettre Alfred ...et sa note!

Pour vouloir alimenter automatiquement le récap pour tous ses éléments
il faudrait qu'il se trouve devoir les chercher dans la base, par
exemple en fonction du nom et de l'item tu récupèrerais la note dans ta
base ce qui supposerait que ce soit dans celle-ci que tu renseignes tout
y compris les notes de chaque item...
Si l'on considère que ton objectif apparent soit simplement de mettre
des notes en face des noms, il faut cibler ce qui conservera vraiment un
intérêt. Outre la forme ou présentation qui t'est probablement imposée,
l'idée serait déjà de savoir comment arrivent les informations pour
limiter la quantité de travail à les ressaisir...non!?

@ bientôt ...

--
lSteph

ouf... Première fois de ma vie que je zippais (comme quoi, tout arrive!)

Voici donc mon usine à gaz, sans les photos que j'ai enlevé.

http://cjoint.com/?bfxQMvBfro

Je pense qu'il y a beaucoup à redire...

Merci pour tout commentaire toujours formateur!

Emma
"Emma" a écrit dans le message de
news:u0rJYl%
J'ai déjà essayer de l'envoyer mais le fichier fait quasi 1Mg... Je vais
voir comment essayer de le réduire.


"LSteph" a écrit dans le message de
news:OF4fZd%
va voir là et reviens donner le lien si tu veux

http://cjoint.com




J'ai fait l'essai en nommant la plage, et tout se réaffecte
automatiquement


sur l'autre feuille, impeccable. Mais voici le probleme, je vais
essayer



de
l'exposer clairement par un exemple:

Classeur 1, feuille 1 (la base de données):


A B C

1 Alphonse Brown 5 ans

2 Jim Carrey 6 ans


Classeur 2:

A B

1 Alphonse Jim

2 18/20 19/20

Arrive alors en cours d'année Bertrand (rien que pour me casser les
bonbons...). Je le place dans la base de données, et lors du tri, il
apparait entre mes 2 zozos...

De plus, il lui est attribué la note de 19/20 sans avoir rien fait, le
veinard...

Enfin, vous commencez, je pense, à voir quel est mon problème.

A vrai dire, j'avais un système qui marchait très bien mais réclamait
de



rentrer x fois le nom des élèves, et de le répercuter x foix dans les
fichiers quand il arrivait en cours d'année.

Dois-je rester avec ma méthode de dinausores? ou me mets-je encore le



doigt
dans l'oeil (n'est-ce pas misange... ;-))

Merci à vous qui allez éclairer ma petite lanterne.

Emma

"LSteph" a écrit dans le message de
news:%239aOL%
Bonsoir Emma,

tu peux aussi faire des listes dynamiques avec la fonction decaler
voir exemples sur ce forum et sur excelabo..

mais selon ce que je comprends de ta question cela va très bien
ainsi si tu insères dans une plage nommée , la plage s'étend.

Ce qu'il ne faut pas faire c'est ajouter en dessous, car à ce moment




plage n'en est pas affectée.

Cordialement.

--
lSteph

Bonsoir,

question simple: Est-il envisageable, lorsque j'ajoute une ligne
dans





une
base de données (classeur 1), que celle-ci se répercuté dans un
autre





fichier (classeur 2), en lieu et place?

ex: j'ai une liste de noms dans ma base de données et MARC s'ajoute
à





la
liste (en plein milieu). Vais-je le retrouver dans une liste qui
prend





en
référence la base?

Merci

Emma


















Avatar
Emma
Merci d'avoir veiller si tard pour moi!

Je digère ton message dans la nuit et te répond demain dans la soirée.
Néanmoins, je puis dors et déjà te dire que je rentre effectivement les
notes manuellement dans la feuille intitulée recap.

Ce que je voudrais, c'est que les prénoms comme les compétences arrivent
d'une basse de données, qui se trouverait dans un autre classeur, comme me
l'a suggérée Misange.

Merci encore et à demain
"LSteph" a écrit dans le message de
news:OKXRJU$
Re,

Sans plus de formalisme, voici ce que cela me suggère dans la mesure
où je n'ai pas encore forcément tout compris.

Dois-je bien déduire que tu récupères dans récapitulatif les noms des
élèves de la liste qui est dans Info, par formule et
la note tu la mets manuellement,... ?

Ces deux éléments ne sont donc pas liés, la note ne prend référence
nulle part, ...elle sera donc seulement là où tu la mets.

Aussi si tu insère une ligne Alfred dans la liste INFOS juste avant Amélie
=INFOS!$F29 remplace =INFOS!$F28 et ni Amélie ni sa note de l'item 153
n'ont bougé
Comme tu as mis ce récap dans l'autre sens (transposé) c'est donc une
colonne qu'il faut ajouter avant Amélie pour y mettre Alfred ...et sa
note!


Pour vouloir alimenter automatiquement le récap pour tous ses éléments
il faudrait qu'il se trouve devoir les chercher dans la base, par
exemple en fonction du nom et de l'item tu récupèrerais la note dans ta
base ce qui supposerait que ce soit dans celle-ci que tu renseignes tout
y compris les notes de chaque item...
Si l'on considère que ton objectif apparent soit simplement de mettre
des notes en face des noms, il faut cibler ce qui conservera vraiment un
intérêt. Outre la forme ou présentation qui t'est probablement imposée,
l'idée serait déjà de savoir comment arrivent les informations pour
limiter la quantité de travail à les ressaisir...non!?

@ bientôt ...

--
lSteph

ouf... Première fois de ma vie que je zippais (comme quoi, tout arrive!)

Voici donc mon usine à gaz, sans les photos que j'ai enlevé.

http://cjoint.com/?bfxQMvBfro

Je pense qu'il y a beaucoup à redire...

Merci pour tout commentaire toujours formateur!

Emma
"Emma" a écrit dans le message de
news:u0rJYl%
J'ai déjà essayer de l'envoyer mais le fichier fait quasi 1Mg... Je
vais



voir comment essayer de le réduire.


"LSteph" a écrit dans le message de
news:OF4fZd%
va voir là et reviens donner le lien si tu veux

http://cjoint.com




J'ai fait l'essai en nommant la plage, et tout se réaffecte
automatiquement


sur l'autre feuille, impeccable. Mais voici le probleme, je vais
essayer



de
l'exposer clairement par un exemple:

Classeur 1, feuille 1 (la base de données):


A B C

1 Alphonse Brown 5 ans

2 Jim Carrey 6 ans


Classeur 2:

A B

1 Alphonse Jim

2 18/20 19/20

Arrive alors en cours d'année Bertrand (rien que pour me casser les
bonbons...). Je le place dans la base de données, et lors du tri, il
apparait entre mes 2 zozos...

De plus, il lui est attribué la note de 19/20 sans avoir rien fait,
le





veinard...

Enfin, vous commencez, je pense, à voir quel est mon problème.

A vrai dire, j'avais un système qui marchait très bien mais réclamait
de



rentrer x fois le nom des élèves, et de le répercuter x foix dans les
fichiers quand il arrivait en cours d'année.

Dois-je rester avec ma méthode de dinausores? ou me mets-je encore le



doigt
dans l'oeil (n'est-ce pas misange... ;-))

Merci à vous qui allez éclairer ma petite lanterne.

Emma

"LSteph" a écrit dans le message de
news:%239aOL%
Bonsoir Emma,

tu peux aussi faire des listes dynamiques avec la fonction decaler
voir exemples sur ce forum et sur excelabo..

mais selon ce que je comprends de ta question cela va très bien
ainsi si tu insères dans une plage nommée , la plage s'étend.

Ce qu'il ne faut pas faire c'est ajouter en dessous, car à ce
moment







plage n'en est pas affectée.

Cordialement.

--
lSteph

Bonsoir,

question simple: Est-il envisageable, lorsque j'ajoute une ligne
dans





une
base de données (classeur 1), que celle-ci se répercuté dans un
autre





fichier (classeur 2), en lieu et place?

ex: j'ai une liste de noms dans ma base de données et MARC s'ajoute
à





la
liste (en plein milieu). Vais-je le retrouver dans une liste qui
prend





en
référence la base?

Merci

Emma




















Avatar
Misange
decaler est une fonction magique qui est effectivement utilisable dans
de nombreuses situations (du coup ça vaut la peine de l'apprendre !)

Disons que tu utilises une plage de données A1:D4 dans une fonction, un
graphique, une liste... n'importe quoi en fait.
Tu peux définir cette plage par ses coordonnées A1:D4 mais dans ce cas,
si tu ajoutes des données à droite ou à gauche, il faut que tu
redéfinisses à chaque ajout ta plage de données. Lassant et source d'erreur.
Au lieu de faire ça tu peux demander à excel de calculer les plages de
données à ta place.
Tu lui dit :
Ma référence de départ c'est A1. Part de cette cellule, décale toi de y
cellules vers le bas, de x cellules vers la droite. A partir de cette
nouvelle cellule de départ, sélectionne moi H cellules en hauteur et L
cellules en largeur.
En clair ça fait ça :
Þcaler(A1;y;x;H;L)
Si tu veux définir ta plage à partir de la cellule A1, x et y sont nuls :
Þcaler(A1;0;0;H;L) ce qui est équivalent à Þcaler(A1;;;H;L)

Maintenant, tu peux écrire les valeurs de H et de L en dur ou les calculer.
Dans ton cas, tu veux que toutes les données de la feuille soient
inclues dans ta base de données. Le nombre de lignes (la hauteur donc de
ta plage de référence)est donc égale au nombre de valeurs inscrites dans
la colonne A soit nbval($A:$A)
de même, le nombre de colonnes à inclure est le nombre de cellules
renseignées dans la ligne 1 : nbval($1:$1)
Si tu ajoutes une nouvelle ligne (un nouvel élève), le nombre de
cellules renseignées dans la colonne A augmente et ta plage de données
s'accroit d'autant. Idem si tu ajoutes une colonne (par exemple une
matière).

Pour ne plus avoir à t'occuper de définir la plage de référence de ta
base de données, il te suffit alors d'utiliser la formule
Þcaler($A$1;0;0;nbval($A:$A);nbval($1:$1))
dans le définition du nom de ta base de données. Ceci ne se fait pas en
VBA (encore qu'on puisse le faire) mais dans la feuille excel : menu
insertion/nom/définir
tu cliques sur ajouter. Dans la zone de nom en haut, tu indiques par
exemple MaBaseDeDonnées et en bas, dans la zone de formule, tu colles la
formule decaler ci-dessus et tu valides.
Un petit truc pour vérifier que tu n'as pas fait d'erreur :
Une fois que tu as validé ta formule (elle est donc enregistrée), clique
dans la zone de formule. Excel encadre d'un pointillé les cellules qui
sont définies par la formule Þcaler(... que tu viens de rentrer.

Tu peux alors, dans ta feuille ou dans VBA faire référence à ta base de
données par son nom sans plus du tout t'occuper de la modifier quand tu
ajouteras des données.

Une petite restriction d'importance : comme tu le vois, ce qui définit
la hauteur et la largeur de ta zone c'est le nombre de cellules
renseignées dans une ligne de référence et dans une colonne de
référence. Ici j'ai pris la ligne 1 et la colonne A mais si tu as des
données manquantes dans ces lignes et colonnes de référence, tu peux
(doit) choisir celles qui sont complètes.

Tu peux aussi regarder ici
http://www.excelabo.net/excel/lexique.php#decaler

A toi de jouer !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Vos messages et votre investissement me touche beaucoup...

Effectivement, Misange, c'était très didactique. J'ai presque tout compris
(en me creusant la tête quand même sur certaines phrases) SAUF le passage
sur la fonction DECALER. Je suis allée sur certains sites pour me former,
mais j'avoue que cette fonction est utilisée dans tellement de cas de figure
et renvoie à des concepts que je n'ai pas encore tout à fait compris... Je
crois qu'une bonne nuit de sommeil me permettra de mieux comprendre demain.
Je m'accroche! Je sais qu'au bout, ce sera vraiment chouette!

Bonne nuit à vous!!!

Emma.

NB: Je jette mes dernières forces dans la bataille avant le dodo.
"Misange" a écrit dans le message de
news:OwSDI2%
re coucou,

En fait je ne suis pas sure d'avoir tout bien expliqué :-)
Pour éviter ABSOLUMENT de recopier tes données d'un classeur dans
l'autre, ce qui est toujours source de problèmes éventuels, surtout si
comme dans ton exemple tu recopies tes données en les transposant, je te
conseille de n'avoir qu'une seule base de données dans un seul classeur
qui te servira de référence UNIQUE.
Dans ton classeur 1, tu nommes ta zone de données de façon dynamique
avec la fonction décaler. De cette façon, que tu ajoutes des lignes ou
des colonnes dans ce tableau tu seras sure de faire référence à la
totalité des donné&es :
mabase= decaler($a$1;;;nbval($A:$A)-1;nbval($1:$1)).
A chaque fois qu'un nouvel élève arrive, tu l'ajoutes simplement sous
les autres, sans t'occuper de rien d'autre. Il sera automatiquement pris
en compte dans toutes les formules ou tu feras référence à "mabase"


A B C D

1 Prenom Nom age note
2 Alphonse Brown 5 ans 18
3 Jim Carrey 6 ans 19
4 Bertrand machin 6 ans

Si tu as vraiment trop de données et que tu dois faire plusieurs tables
de données, le plus simple et le plus sur c'est d'avoir toujours 1
identifiant unique qui fait le lien entre tes tables. Par exemple ici tu
pourrais mettre en colonne A le N° de sécu ou un numéro arbitraire. Ceci
te permet de "croiser" tes tables de données. Par exemple, si tu as
réellement besoin d'avoir deux tables comme dans ton exemple :
chaque table comportera en colonne A le n° d'identifiant et en colonne
B, C, D les notes (toujours garder la même organisation en colonne des
données).
Tu rempliras tes bulletins de note en allant
1) cherche le nom des élèves, leur age, leur adresse (pour envoyer le
bulletin par la poste) sur une première table. Pour chaque élève, avec
une simple combinaison des fonctions index et equiv, sans même avoir
besoin de macros, tu iras chercher les valeurs des notes de chaque élève
qui sont dans la deuxième table en colonnes B, C, D...

Je te conseille de garder un seul classeur pour les données une table de
donnée par feuille. Tu mets tes "matrices" de bulletins de notes, de
feuilles de progression de tout ce que tu veux soit dans le même
classeur si celui-ci n'est pas encore trop gros, soit dans un autre. Tu
distribueras aux instits la base de données d'un côté, les classeurs
contenant les matrices dont ils ont besoin de l'autre. Il n'est pas plus
difficile d'extraire les données d'un classeur pour les coller dans un
autre que de le faire entre deux feuilles. En faisant ça, il n'y a q'un
seul endroit ou les données sont modifiées. Il est bien plus facile pour
toi de vérifier que cette base est complete, d'y compiler les modifs
faites par les différents instits d'une même école, de la mettre à jour
et d'y faire les modifs.

Voilà, je crois que j'arrive au bout de mes capacités pédagogiques :-)
et c'est l'heure de fermer le PC aussi :-)
Bonne nuit !


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

J'ai fait l'essai en nommant la plage, et tout se réaffecte
automatiquement


sur l'autre feuille, impeccable. Mais voici le probleme, je vais essayer
de


l'exposer clairement par un exemple:

Classeur 1, feuille 1 (la base de données):


A B C

1 Alphonse Brown 5 ans

2 Jim Carrey 6 ans


Classeur 2:

A B

1 Alphonse Jim

2 18/20 19/20

Arrive alors en cours d'année Bertrand (rien que pour me casser les
bonbons...). Je le place dans la base de données, et lors du tri, il
apparait entre mes 2 zozos...

De plus, il lui est attribué la note de 19/20 sans avoir rien fait, le
veinard...

Enfin, vous commencez, je pense, à voir quel est mon problème.

A vrai dire, j'avais un système qui marchait très bien mais réclamait de
rentrer x fois le nom des élèves, et de le répercuter x foix dans les
fichiers quand il arrivait en cours d'année.

Dois-je rester avec ma méthode de dinausores? ou me mets-je encore le
doigt


dans l'oeil (n'est-ce pas misange... ;-))

Merci à vous qui allez éclairer ma petite lanterne.

Emma

"LSteph" a écrit dans le message de
news:%239aOL%
Bonsoir Emma,

tu peux aussi faire des listes dynamiques avec la fonction decaler
voir exemples sur ce forum et sur excelabo..

mais selon ce que je comprends de ta question cela va très bien
ainsi si tu insères dans une plage nommée , la plage s'étend.

Ce qu'il ne faut pas faire c'est ajouter en dessous, car à ce moment




plage n'en est pas affectée.

Cordialement.

--
lSteph

Bonsoir,

question simple: Est-il envisageable, lorsque j'ajoute une ligne dans
une


base de données (classeur 1), que celle-ci se répercuté dans un autre
fichier (classeur 2), en lieu et place?

ex: j'ai une liste de noms dans ma base de données et MARC s'ajoute à
la




liste (en plein milieu). Vais-je le retrouver dans une liste qui prend
en


référence la base?

Merci

Emma















Avatar
LSteph
Bonjour Misange,

C'est indéniablement une priorité
Pour éviter ABSOLUMENT de recopier tes données d'un classeur dans l'autre,
ce qui est toujours source de problèmes éventuels, surtout si comme

dans ton exemple tu recopies tes données en les transposant, je te
conseille de n'avoir qu'une seule base de données dans un seul classeur
qui te servira de référence UNIQUE.

et ceci une des solutions dont ta brillante explication ne sera pas à
perte quoi qu'il en soit

decaler est une fonction magique qui est effectivement utilisable dans
de nombreuses situations (du coup ça vaut la peine de l'apprendre !)



A te lire tu n'avais probablement pas encore la PJ...
http://cjoint.com/?bfxQMvBfro
... et si juste avant j'indiquais aussi la fonction decaler, il apparait
toutefois d'emblée d'autres points à voir dans la structure du classeur
qu'Emma nous a passé .
J'en arrivais ainsi hier soir à ceci:
Pour vouloir alimenter automatiquement le récap pour tous ses éléments il
faudrait qu'il se trouve devoir les chercher dans la base, par exemple en

fonction du nom et de l'item tu récupèrerais la note dans ta base ce qui
supposerait que ce soit dans celle-ci que tu renseignes tout y compris les
notes de chaque item...
Si l'on considère que ton objectif apparent soit simplement de mettre des
notes en face des noms, il faut cibler ce qui conservera vraiment un

intérêt.
Outre la forme ou présentation qui t'est probablement imposée, l'idée
serait
déjà de savoir comment arrivent les informations pour limiter la
quantité de
travail à les ressaisir...non!?


En attendant son retour j'y réfléchis mais surtout ne t'en prives pas,
tu auras sans doute plus d'idées.


Cordialement.

--
lSteph


decaler est une fonction magique qui est effectivement utilisable dans
de nombreuses situations (du coup ça vaut la peine de l'apprendre !)

Disons que tu utilises une plage de données A1:D4 dans une fonction, un
graphique, une liste... n'importe quoi en fait.
Tu peux définir cette plage par ses coordonnées A1:D4 mais dans ce cas,
si tu ajoutes des données à droite ou à gauche, il faut que tu
redéfinisses à chaque ajout ta plage de données. Lassant et source
d'erreur.
Au lieu de faire ça tu peux demander à excel de calculer les plages de
données à ta place.
Tu lui dit :
Ma référence de départ c'est A1. Part de cette cellule, décale toi de y
cellules vers le bas, de x cellules vers la droite. A partir de cette
nouvelle cellule de départ, sélectionne moi H cellules en hauteur et L
cellules en largeur.
En clair ça fait ça :
Þcaler(A1;y;x;H;L)
Si tu veux définir ta plage à partir de la cellule A1, x et y sont nuls :
Þcaler(A1;0;0;H;L) ce qui est équivalent à Þcaler(A1;;;H;L)

Maintenant, tu peux écrire les valeurs de H et de L en dur ou les calculer.
Dans ton cas, tu veux que toutes les données de la feuille soient
inclues dans ta base de données. Le nombre de lignes (la hauteur donc de
ta plage de référence)est donc égale au nombre de valeurs inscrites dans
la colonne A soit nbval($A:$A)
de même, le nombre de colonnes à inclure est le nombre de cellules
renseignées dans la ligne 1 : nbval($1:$1)
Si tu ajoutes une nouvelle ligne (un nouvel élève), le nombre de
cellules renseignées dans la colonne A augmente et ta plage de données
s'accroit d'autant. Idem si tu ajoutes une colonne (par exemple une
matière).

Pour ne plus avoir à t'occuper de définir la plage de référence de ta
base de données, il te suffit alors d'utiliser la formule
Þcaler($A$1;0;0;nbval($A:$A);nbval($1:$1))
dans le définition du nom de ta base de données. Ceci ne se fait pas en
VBA (encore qu'on puisse le faire) mais dans la feuille excel : menu
insertion/nom/définir
tu cliques sur ajouter. Dans la zone de nom en haut, tu indiques par
exemple MaBaseDeDonnées et en bas, dans la zone de formule, tu colles la
formule decaler ci-dessus et tu valides.
Un petit truc pour vérifier que tu n'as pas fait d'erreur :
Une fois que tu as validé ta formule (elle est donc enregistrée), clique
dans la zone de formule. Excel encadre d'un pointillé les cellules qui
sont définies par la formule Þcaler(... que tu viens de rentrer.

Tu peux alors, dans ta feuille ou dans VBA faire référence à ta base de
données par son nom sans plus du tout t'occuper de la modifier quand tu
ajouteras des données.

Une petite restriction d'importance : comme tu le vois, ce qui définit
la hauteur et la largeur de ta zone c'est le nombre de cellules
renseignées dans une ligne de référence et dans une colonne de
référence. Ici j'ai pris la ligne 1 et la colonne A mais si tu as des
données manquantes dans ces lignes et colonnes de référence, tu peux
(doit) choisir celles qui sont complètes.

Tu peux aussi regarder ici
http://www.excelabo.net/excel/lexique.php#decaler

A toi de jouer !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Vos messages et votre investissement me touche beaucoup...

Effectivement, Misange, c'était très didactique. J'ai presque tout
compris
(en me creusant la tête quand même sur certaines phrases) SAUF le passage
sur la fonction DECALER. Je suis allée sur certains sites pour me former,
mais j'avoue que cette fonction est utilisée dans tellement de cas de
figure
et renvoie à des concepts que je n'ai pas encore tout à fait
compris... Je
crois qu'une bonne nuit de sommeil me permettra de mieux comprendre
demain.
Je m'accroche! Je sais qu'au bout, ce sera vraiment chouette!

Bonne nuit à vous!!!

Emma.

NB: Je jette mes dernières forces dans la bataille avant le dodo.
"Misange" a écrit dans le message de
news:OwSDI2%
re coucou,

En fait je ne suis pas sure d'avoir tout bien expliqué :-)
Pour éviter ABSOLUMENT de recopier tes données d'un classeur dans
l'autre, ce qui est toujours source de problèmes éventuels, surtout si
comme dans ton exemple tu recopies tes données en les transposant, je te
conseille de n'avoir qu'une seule base de données dans un seul classeur
qui te servira de référence UNIQUE.
Dans ton classeur 1, tu nommes ta zone de données de façon dynamique
avec la fonction décaler. De cette façon, que tu ajoutes des lignes ou
des colonnes dans ce tableau tu seras sure de faire référence à la
totalité des donné&es :
mabase= decaler($a$1;;;nbval($A:$A)-1;nbval($1:$1)).
A chaque fois qu'un nouvel élève arrive, tu l'ajoutes simplement sous
les autres, sans t'occuper de rien d'autre. Il sera automatiquement pris
en compte dans toutes les formules ou tu feras référence à "mabase"


A B C D

1 Prenom Nom age note
2 Alphonse Brown 5 ans 18
3 Jim Carrey 6 ans 19
4 Bertrand machin 6 ans

Si tu as vraiment trop de données et que tu dois faire plusieurs tables
de données, le plus simple et le plus sur c'est d'avoir toujours 1
identifiant unique qui fait le lien entre tes tables. Par exemple ici tu
pourrais mettre en colonne A le N° de sécu ou un numéro arbitraire. Ceci
te permet de "croiser" tes tables de données. Par exemple, si tu as
réellement besoin d'avoir deux tables comme dans ton exemple :
chaque table comportera en colonne A le n° d'identifiant et en colonne
B, C, D les notes (toujours garder la même organisation en colonne des
données).
Tu rempliras tes bulletins de note en allant
1) cherche le nom des élèves, leur age, leur adresse (pour envoyer le
bulletin par la poste) sur une première table. Pour chaque élève, avec
une simple combinaison des fonctions index et equiv, sans même avoir
besoin de macros, tu iras chercher les valeurs des notes de chaque élève
qui sont dans la deuxième table en colonnes B, C, D...

Je te conseille de garder un seul classeur pour les données une table de
donnée par feuille. Tu mets tes "matrices" de bulletins de notes, de
feuilles de progression de tout ce que tu veux soit dans le même
classeur si celui-ci n'est pas encore trop gros, soit dans un autre. Tu
distribueras aux instits la base de données d'un côté, les classeurs
contenant les matrices dont ils ont besoin de l'autre. Il n'est pas plus
difficile d'extraire les données d'un classeur pour les coller dans un
autre que de le faire entre deux feuilles. En faisant ça, il n'y a q'un
seul endroit ou les données sont modifiées. Il est bien plus facile pour
toi de vérifier que cette base est complete, d'y compiler les modifs
faites par les différents instits d'une même école, de la mettre à jour
et d'y faire les modifs.

Voilà, je crois que j'arrive au bout de mes capacités pédagogiques :-)
et c'est l'heure de fermer le PC aussi :-)
Bonne nuit !


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

J'ai fait l'essai en nommant la plage, et tout se réaffecte
automatiquement


sur l'autre feuille, impeccable. Mais voici le probleme, je vais
essayer
de


l'exposer clairement par un exemple:

Classeur 1, feuille 1 (la base de données):


A B C

1 Alphonse Brown 5 ans

2 Jim Carrey 6 ans


Classeur 2:

A B

1 Alphonse Jim

2 18/20 19/20

Arrive alors en cours d'année Bertrand (rien que pour me casser les
bonbons...). Je le place dans la base de données, et lors du tri, il
apparait entre mes 2 zozos...

De plus, il lui est attribué la note de 19/20 sans avoir rien fait, le
veinard...

Enfin, vous commencez, je pense, à voir quel est mon problème.

A vrai dire, j'avais un système qui marchait très bien mais
réclamait de
rentrer x fois le nom des élèves, et de le répercuter x foix dans les
fichiers quand il arrivait en cours d'année.

Dois-je rester avec ma méthode de dinausores? ou me mets-je encore le
doigt


dans l'oeil (n'est-ce pas misange... ;-))

Merci à vous qui allez éclairer ma petite lanterne.

Emma

"LSteph" a écrit dans le message de
news:%239aOL%
Bonsoir Emma,

tu peux aussi faire des listes dynamiques avec la fonction decaler
voir exemples sur ce forum et sur excelabo..

mais selon ce que je comprends de ta question cela va très bien
ainsi si tu insères dans une plage nommée , la plage s'étend.

Ce qu'il ne faut pas faire c'est ajouter en dessous, car à ce moment




plage n'en est pas affectée.

Cordialement.

--
lSteph

Bonsoir,

question simple: Est-il envisageable, lorsque j'ajoute une ligne dans
une


base de données (classeur 1), que celle-ci se répercuté dans un autre
fichier (classeur 2), en lieu et place?

ex: j'ai une liste de noms dans ma base de données et MARC s'ajoute à
la




liste (en plein milieu). Vais-je le retrouver dans une liste qui
prend
en


référence la base?

Merci

Emma

















Avatar
Misange
Bonjour Misange,

A te lire tu n'avais probablement pas encore la PJ...
Cette ficelle est la suite d'une autre initiée par Emma (fractionner en

feuilles interactives) sur le même sujet(avec déjà une pj). Vu l'ampleur
que prend son projet, je lui ai conseillé de le reprendre sur des bases
plus structurées, plus faciles à faire évoluer au lieu de chercher à
faire évoluer son classeur précédent. Maintenant la décision lui en
revient ! Il est bien plus facile d'expliquer comment fonctionne decaler
que d'expliquer comment séparer le contenu de la forme et l'avantage de
cette méthode. L'expérience ne se transmet en réalité jamais vraiment.


Misange

Avatar
LSteph
Oui!
Cette ficelle fait suite à plusieurs autres d'Emma...!
... L'expérience ne se transmet en réalité jamais vraiment.
La tienne serait la bienvenue.

Je t'invites justement vivement à regarder cette PJ .

@+

--
lSteph

Bonjour Misange,

A te lire tu n'avais probablement pas encore la PJ...
Cette ficelle est la suite d'une autre initiée par Emma (fractionner en

feuilles interactives) sur le même sujet(avec déjà une pj). Vu l'ampleur
que prend son projet, je lui ai conseillé de le reprendre sur des bases
plus structurées, plus faciles à faire évoluer au lieu de chercher à
faire évoluer son classeur précédent. Maintenant la décision lui en
revient ! Il est bien plus facile d'expliquer comment fonctionne decaler
que d'expliquer comment séparer le contenu de la forme et l'avantage de
cette méthode. L'expérience ne se transmet en réalité jamais vraiment.


Misange



Avatar
LSteph
j'oubliais...
feuilles interactives) sur le même sujet(avec déjà une pj)
...et moi je m'en vais regarder l'autre!


;o) Merci

Bonjour Misange,

A te lire tu n'avais probablement pas encore la PJ...
Cette ficelle est la suite d'une autre initiée par Emma (fractionner en

feuilles interactives) sur le même sujet(avec déjà une pj). Vu l'ampleur
que prend son projet, je lui ai conseillé de le reprendre sur des bases
plus structurées, plus faciles à faire évoluer au lieu de chercher à
faire évoluer son classeur précédent. Maintenant la décision lui en
revient ! Il est bien plus facile d'expliquer comment fonctionne decaler
que d'expliquer comment séparer le contenu de la forme et l'avantage de
cette méthode. L'expérience ne se transmet en réalité jamais vraiment.


Misange



Avatar
Misange
cette pj est plus complète que la précédente mais ne fait que renforcer
ce que je dis :
Il faut (c'est ma façon de m'exprimer mais encore une fois c'est à Emma
de faire son choix) absolument alimenter toutes ces pages super
complètes sans JAMAIS resaisir ce qui l'a déjà été et à partir d'un seul
endroit, situé soit dans le même classeur, soit si celui-ci devient trop
gros dans un classeur dédié.

Je ne peux que conseiller à Emma d'aller voir sur excelabo (et ailleurs
!!) comment utiliser les 3 fonctions indispensables d'excel :
- décaler
- index
- equiv
les deux dernières étant utilisées en combinaison.
Index+equiv permet d'aller chercher dans un tableau une valeur à partir
d'une autre. Par exemple, connaissant le nom de l'élève, quelle note
a-t-il obtenu en calcul mental ?

et lui recommander aussi d'user et d'abuser des noms définis. Ceci
permet ensuite d'avoir des fonctions auxquelles on comprend quelque
chose quand on les relit!
Il n'y en a quasiment pas dans son classeur (mais deux avec décaler :-)

Pour des enseignants non férus d'informatique, il vaut mieux faire une
interface utilisateur qui évite toutes les erreurs. La base de données
sera très utilement protégée (sans mot de passe) de façon à ne pas
pouvoir être directement modifiée par un enseignant qui aurait envie d'y
ajouter des espaces, des commentaires sans en mesurer les effets. Cette
base, de mon point de vue, serait alimentée uniquement via un formulaire
(userform) lancé depuis un joli bouton.

Sur ce je retourne à ma propre usine à gaz dont vous verrez peut être en
2010 les résultats si je survis jusque là !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Oui!
Cette ficelle fait suite à plusieurs autres d'Emma...!
... L'expérience ne se transmet en réalité jamais vraiment.
La tienne serait la bienvenue.

Je t'invites justement vivement à regarder cette PJ .

@+

--
lSteph

Bonjour Misange,

A te lire tu n'avais probablement pas encore la PJ...
Cette ficelle est la suite d'une autre initiée par Emma (fractionner

en feuilles interactives) sur le même sujet(avec déjà une pj). Vu
l'ampleur que prend son projet, je lui ai conseillé de le reprendre
sur des bases plus structurées, plus faciles à faire évoluer au lieu
de chercher à faire évoluer son classeur précédent. Maintenant la
décision lui en revient ! Il est bien plus facile d'expliquer comment
fonctionne decaler que d'expliquer comment séparer le contenu de la
forme et l'avantage de cette méthode. L'expérience ne se transmet en
réalité jamais vraiment.


Misange





Avatar
LSteph
Bonjour,

Entre temps vois l'échange avec Misange que tu peux lire un peu plus bas
et dont j'adhère totalement à la conclusion.

C'est effectivement une restructuration importante donc la décision
n'engage que toi et assez lourde au départ.

J'irais même un peu plus loin, il y a plein de choses intéressantes et
visiblement de travail derrière ce que tu as fait mais dans l'idée que
je souligne de mettre cela dans les mains d'utilisateurs pour qui
cela doit rouler tout seul. Cela sera peut-être un peu douloureux au
départ car implique de faire table rase et repartir sur d'autres bases
et pour un long voyage dont tu sera le seul pilote. Néanmoins comme
disait Misange si tu viens par ici , il y aura toujours de la lumière.

... si c'était pour moi voici toutefois en guise de poursuite
une idée comme point de départ:
-Une table (indexée) des items qui ne soient pas par hierarchie mais
sous forme de base structurée(pas de fusions, la présentation de sortie
on verra après...).
-Une table des élèves qui contiendra toutes les références nécessaires
les concernant et avec des titres de champs uniques et bien
distincts(Nom Prénom date de naissance ...etc) par exemple on ne verra
pas là , l'âge, c'est un élément qu'on pourra évaluer ensuite par la
date de naissance...
- à l'appui je verrais bien aussi se servir d'un userform pour alimenter
la base principale, donc en plus
-une base principale qui sert à inscrire les notations en fonction d'un
référentiel qu'on vient d'évoquer: les élèves , les items.

-des états : récapitulatif selon besoin et surtout une fiche
permettant d'afficher chaque élève et/ou de créer des fichiers
ou d'imprimer pour tous ou chaque élève.

Mais il conviendrait d'abord comme évoqué d'analyser, comment t'arrive
l'information: dans quel contexte, reseau? postes? à quel moment à par
toi interviennent les acteurs qui vont devoir effectuer les différentes
tâches que tu souhaites assigner à ton projet. OU ce projet sera-t-il un
modèle destiné uniquement à chaque utilisateur , le sien...

Cordialement.

--
lSteph




Merci d'avoir veiller si tard pour moi!

Je digère ton message dans la nuit et te répond demain dans la soirée.


Avatar
Emma
Bonjour!

Je rentre à l'instant, ouvre le forum...et constate que vous m'avez encore
consacré beaucoup de temps...

Je vais essayer de me montrer à la hauteur de votre investissement. Je
décode, je bosse et vous réponds... puis faudra que je prépare la rentrée
;-)

Merci encore.

Emma
"Emma" a écrit dans le message de
news:eJ$wcF$
Vos messages et votre investissement me touche beaucoup...

Effectivement, Misange, c'était très didactique. J'ai presque tout compris
(en me creusant la tête quand même sur certaines phrases) SAUF le passage
sur la fonction DECALER. Je suis allée sur certains sites pour me former,
mais j'avoue que cette fonction est utilisée dans tellement de cas de
figure

et renvoie à des concepts que je n'ai pas encore tout à fait compris... Je
crois qu'une bonne nuit de sommeil me permettra de mieux comprendre
demain.

Je m'accroche! Je sais qu'au bout, ce sera vraiment chouette!

Bonne nuit à vous!!!

Emma.

NB: Je jette mes dernières forces dans la bataille avant le dodo.
"Misange" a écrit dans le message de
news:OwSDI2%
re coucou,

En fait je ne suis pas sure d'avoir tout bien expliqué :-)
Pour éviter ABSOLUMENT de recopier tes données d'un classeur dans
l'autre, ce qui est toujours source de problèmes éventuels, surtout si
comme dans ton exemple tu recopies tes données en les transposant, je te
conseille de n'avoir qu'une seule base de données dans un seul classeur
qui te servira de référence UNIQUE.
Dans ton classeur 1, tu nommes ta zone de données de façon dynamique
avec la fonction décaler. De cette façon, que tu ajoutes des lignes ou
des colonnes dans ce tableau tu seras sure de faire référence à la
totalité des donné&es :
mabase= decaler($a$1;;;nbval($A:$A)-1;nbval($1:$1)).
A chaque fois qu'un nouvel élève arrive, tu l'ajoutes simplement sous
les autres, sans t'occuper de rien d'autre. Il sera automatiquement pris
en compte dans toutes les formules ou tu feras référence à "mabase"


A B C D

1 Prenom Nom age note
2 Alphonse Brown 5 ans 18
3 Jim Carrey 6 ans 19
4 Bertrand machin 6 ans

Si tu as vraiment trop de données et que tu dois faire plusieurs tables
de données, le plus simple et le plus sur c'est d'avoir toujours 1
identifiant unique qui fait le lien entre tes tables. Par exemple ici tu
pourrais mettre en colonne A le N° de sécu ou un numéro arbitraire. Ceci
te permet de "croiser" tes tables de données. Par exemple, si tu as
réellement besoin d'avoir deux tables comme dans ton exemple :
chaque table comportera en colonne A le n° d'identifiant et en colonne
B, C, D les notes (toujours garder la même organisation en colonne des
données).
Tu rempliras tes bulletins de note en allant
1) cherche le nom des élèves, leur age, leur adresse (pour envoyer le
bulletin par la poste) sur une première table. Pour chaque élève, avec
une simple combinaison des fonctions index et equiv, sans même avoir
besoin de macros, tu iras chercher les valeurs des notes de chaque élève
qui sont dans la deuxième table en colonnes B, C, D...

Je te conseille de garder un seul classeur pour les données une table de
donnée par feuille. Tu mets tes "matrices" de bulletins de notes, de
feuilles de progression de tout ce que tu veux soit dans le même
classeur si celui-ci n'est pas encore trop gros, soit dans un autre. Tu
distribueras aux instits la base de données d'un côté, les classeurs
contenant les matrices dont ils ont besoin de l'autre. Il n'est pas plus
difficile d'extraire les données d'un classeur pour les coller dans un
autre que de le faire entre deux feuilles. En faisant ça, il n'y a q'un
seul endroit ou les données sont modifiées. Il est bien plus facile pour
toi de vérifier que cette base est complete, d'y compiler les modifs
faites par les différents instits d'une même école, de la mettre à jour
et d'y faire les modifs.

Voilà, je crois que j'arrive au bout de mes capacités pédagogiques :-)
et c'est l'heure de fermer le PC aussi :-)
Bonne nuit !


Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

J'ai fait l'essai en nommant la plage, et tout se réaffecte
automatiquement


sur l'autre feuille, impeccable. Mais voici le probleme, je vais
essayer



de
l'exposer clairement par un exemple:

Classeur 1, feuille 1 (la base de données):


A B C

1 Alphonse Brown 5 ans

2 Jim Carrey 6 ans


Classeur 2:

A B

1 Alphonse Jim

2 18/20 19/20

Arrive alors en cours d'année Bertrand (rien que pour me casser les
bonbons...). Je le place dans la base de données, et lors du tri, il
apparait entre mes 2 zozos...

De plus, il lui est attribué la note de 19/20 sans avoir rien fait, le
veinard...

Enfin, vous commencez, je pense, à voir quel est mon problème.

A vrai dire, j'avais un système qui marchait très bien mais réclamait
de



rentrer x fois le nom des élèves, et de le répercuter x foix dans les
fichiers quand il arrivait en cours d'année.

Dois-je rester avec ma méthode de dinausores? ou me mets-je encore le
doigt


dans l'oeil (n'est-ce pas misange... ;-))

Merci à vous qui allez éclairer ma petite lanterne.

Emma

"LSteph" a écrit dans le message de
news:%239aOL%
Bonsoir Emma,

tu peux aussi faire des listes dynamiques avec la fonction decaler
voir exemples sur ce forum et sur excelabo..

mais selon ce que je comprends de ta question cela va très bien
ainsi si tu insères dans une plage nommée , la plage s'étend.

Ce qu'il ne faut pas faire c'est ajouter en dessous, car à ce moment




plage n'en est pas affectée.

Cordialement.

--
lSteph

Bonsoir,

question simple: Est-il envisageable, lorsque j'ajoute une ligne
dans





une
base de données (classeur 1), que celle-ci se répercuté dans un
autre





fichier (classeur 2), en lieu et place?

ex: j'ai une liste de noms dans ma base de données et MARC s'ajoute
à





la
liste (en plein milieu). Vais-je le retrouver dans une liste qui
prend





en
référence la base?

Merci

Emma
















1 2 3 4 5