-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommer
dynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre de
champs) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une proc
évènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sont
renseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:
009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommer
dynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre de
champs) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une proc
évènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sont
renseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
news:
009f01c36ff4$09e2d5b0$a501280a@phx.gbl...
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
066101c36fe0$051eae00$a601280a@phx.gbl...
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...
-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).
Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).
Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" <lstessels@wanadoo.fr> wrote in message
news:063901c36fcd$d4288530$a501280a@phx.gbl...
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??
-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
06de01c36fbe$4be082e0$a101280a@phx.gbl...
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommer
dynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre de
champs) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une proc
évènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sont
renseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:
009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
Salut Alain,
Ta procédure événementielle, elle met à jour auto le TCD lors de l'ajout
d'une nouvelle ligne ? De l'ajout d'une colonne ? Un ou l'autre ?
Merci,
CélineDans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address & ":K" & y))
= 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
Salut Alain,
Ta procédure événementielle, elle met à jour auto le TCD lors de l'ajout
d'une nouvelle ligne ? De l'ajout d'une colonne ? Un ou l'autre ?
Merci,
Céline
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address & ":K" & y))
= 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
Salut Alain,
Ta procédure événementielle, elle met à jour auto le TCD lors de l'ajout
d'une nouvelle ligne ? De l'ajout d'une colonne ? Un ou l'autre ?
Merci,
CélineDans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address & ":K" & y))
= 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:
066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage "Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
066101c36fe0$051eae00$a601280a@phx.gbl...
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...
-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).
Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).
Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" <lstessels@wanadoo.fr> wrote in message
news:063901c36fcd$d4288530$a501280a@phx.gbl...
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage "Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??
-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
06de01c36fbe$4be082e0$a101280a@phx.gbl...
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:
066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage "Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" a écrit dans le message
de news:
061001c37063$e9fe3490$
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommerdynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre dechamps) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une procévènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sontrenseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
.
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
=DECALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
061001c37063$e9fe3490$a101280a@phx.gbl...
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
=DECALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?
-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommer
dynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre de
champs) la plage :
=DECALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une proc
évènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sont
renseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
news:
009f01c36ff4$09e2d5b0$a501280a@phx.gbl...
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
066101c36fe0$051eae00$a601280a@phx.gbl...
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...
-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).
Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).
Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage =DATA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" <lstessels@wanadoo.fr> wrote in message
news:063901c36fcd$d4288530$a501280a@phx.gbl...
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??
-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
=DECALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
06de01c36fbe$4be082e0$a101280a@phx.gbl...
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
.
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" a écrit dans le message
de news:
061001c37063$e9fe3490$
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommerdynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre dechamps) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une procévènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sontrenseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
.
Mais c'est juste pour provoquer l'auteur de ladite proc et lire son
onomatopée favorite. :-)
Mais c'est juste pour provoquer l'auteur de ladite proc et lire son
onomatopée favorite. :-)
Mais c'est juste pour provoquer l'auteur de ladite proc et lire son
onomatopée favorite. :-)
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" a écrit dans le message
de news:
061001c37063$e9fe3490$
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommerdynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre dechamps) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une procévènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sontrenseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
.
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
061001c37063$e9fe3490$a101280a@phx.gbl...
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?
-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommer
dynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre de
champs) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une proc
évènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sont
renseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
news:
009f01c36ff4$09e2d5b0$a501280a@phx.gbl...
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
066101c36fe0$051eae00$a601280a@phx.gbl...
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...
-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).
Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).
Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" <lstessels@wanadoo.fr> wrote in message
news:063901c36fcd$d4288530$a501280a@phx.gbl...
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??
-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
06de01c36fbe$4be082e0$a101280a@phx.gbl...
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
.
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" a écrit dans le message
de news:
061001c37063$e9fe3490$
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommerdynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre dechamps) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une procévènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sontrenseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et minutieux
processus de création de la liste
.
.
.
.
.
Salut Céline,Ta procédure événementielle, elle met à jour auto le TCD lors de
l'ajout
d'une nouvelle ligne ? De l'ajout d'une colonne ? Un ou l'autre ?
Lorsque tous les champs de la plage Ax:Kx sont renseignés
AV
Salut Céline,
Ta procédure événementielle, elle met à jour auto le TCD lors de
l'ajout
d'une nouvelle ligne ? De l'ajout d'une colonne ? Un ou l'autre ?
Lorsque tous les champs de la plage Ax:Kx sont renseignés
AV
Salut Céline,Ta procédure événementielle, elle met à jour auto le TCD lors de
l'ajout
d'une nouvelle ligne ? De l'ajout d'une colonne ? Un ou l'autre ?
Lorsque tous les champs de la plage Ax:Kx sont renseignés
AV
Mais c'est juste pour provoquer l'auteur de ladite proc et lire son
onomatopée favorite. :-)
Aaaaaaaaaatchouuuuummm !
C'est pas ça ?
;-)
AV
Mais c'est juste pour provoquer l'auteur de ladite proc et lire son
onomatopée favorite. :-)
Aaaaaaaaaatchouuuuummm !
C'est pas ça ?
;-)
AV
Mais c'est juste pour provoquer l'auteur de ladite proc et lire son
onomatopée favorite. :-)
Aaaaaaaaaatchouuuuummm !
C'est pas ça ?
;-)
AV
-----Message d'origine-----
Bonjour,
Oui : une liste de saisie de données doit impérativement
disposer d'une
feuille qui lui est exclusivement réservée au sein du
classeur... Je
nomme toujours cet onglet DATA. De même, je nomme DATA le
champ
dynamique de cette liste de saisie de données.
Dans certaines colonnes de votre liste de saisie de
données, si vous
voulez utiliser la fonction Validation pour limiter la
saisie à certains
éléments, je recommande de créer ces listes dans un onglet
à part nommé
Listes.
Par exemple, pour le champ Poste, la liste pourrait être :
Poste
Commis
Secrétaire
Directeur
Vendeur
Le titre de la colonne doit toujours être sur la ligne 1.
Disons que le
titre Poste est en A1. Vous créez un champ dynamique nommé
Poste pour
cette liste selon la formule :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Par la suite, de retour dans l'onglet DATA, vous
sélectionnez la colonne
de saisie pour les postes et vous demandez que les entrées
de cette
colonne soient limitées à la liste Poste.
Menu Données, Validation, Autoriser, Liste, Source, =Poste
Par la suite, grâce au champ dynamique, si vous ajoutez un
élément à la
liste Poste, cet élément est automatiquement ajouté à vos
listes
déroulantes de la colonne Poste de l'onglet DATA
N'hésitez pas à me revenir si mes explications ne sont pas
claires,
Céline
"Stessels" a écrit dans le message
de news:
086d01c3709a$532abc50$
Quelques précisions SVP, au risque de passer pour un
emm...eur !
Dois-je comprendre par là qu'une liste de saisie de données
doit impérativement disposer d'une feuille qui lui est
exclusivement réservée au sein du classeur...
Par ailleurs quel est, selon vous l'avantage de la formule
que vous proposez par rapport à celle proposée par AV par
exemple (formule qui, soit dit en passant, fonctionne à
ravir...)
J'aimerais comprendre...-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autresinformations.
Voici la formule pour créer un champ dynamique pour une
liste :ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" a écrit dans le message
de news:061001c37063$e9fe3490$
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommerdynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre dechamps) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une procévènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sontrenseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque
l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà
servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliserdes données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et
minutieux
processus de création de la liste
.
.
.
.
.
.
-----Message d'origine-----
Bonjour,
Oui : une liste de saisie de données doit impérativement
disposer d'une
feuille qui lui est exclusivement réservée au sein du
classeur... Je
nomme toujours cet onglet DATA. De même, je nomme DATA le
champ
dynamique de cette liste de saisie de données.
Dans certaines colonnes de votre liste de saisie de
données, si vous
voulez utiliser la fonction Validation pour limiter la
saisie à certains
éléments, je recommande de créer ces listes dans un onglet
à part nommé
Listes.
Par exemple, pour le champ Poste, la liste pourrait être :
Poste
Commis
Secrétaire
Directeur
Vendeur
Le titre de la colonne doit toujours être sur la ligne 1.
Disons que le
titre Poste est en A1. Vous créez un champ dynamique nommé
Poste pour
cette liste selon la formule :
=DECALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Par la suite, de retour dans l'onglet DATA, vous
sélectionnez la colonne
de saisie pour les postes et vous demandez que les entrées
de cette
colonne soient limitées à la liste Poste.
Menu Données, Validation, Autoriser, Liste, Source, =Poste
Par la suite, grâce au champ dynamique, si vous ajoutez un
élément à la
liste Poste, cet élément est automatiquement ajouté à vos
listes
déroulantes de la colonne Poste de l'onglet DATA
N'hésitez pas à me revenir si mes explications ne sont pas
claires,
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
086d01c3709a$532abc50$a401280a@phx.gbl...
Quelques précisions SVP, au risque de passer pour un
emm...eur !
Dois-je comprendre par là qu'une liste de saisie de données
doit impérativement disposer d'une feuille qui lui est
exclusivement réservée au sein du classeur...
Par ailleurs quel est, selon vous l'avantage de la formule
que vous proposez par rapport à celle proposée par AV par
exemple (formule qui, soit dit en passant, fonctionne à
ravir...)
J'aimerais comprendre...
-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autres
informations.
Voici la formule pour créer un champ dynamique pour une
liste :
=DECALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?
C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
061001c37063$e9fe3490$a101280a@phx.gbl...
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
=DECALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?
-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommer
dynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre de
champs) la plage :
=DECALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une proc
évènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sont
renseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then
_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
news:
009f01c36ff4$09e2d5b0$a501280a@phx.gbl...
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois
-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
066101c36fe0$051eae00$a601280a@phx.gbl...
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...
-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).
Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).
Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage =DATA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" <lstessels@wanadoo.fr> wrote in message
news:063901c36fcd$d4288530$a501280a@phx.gbl...
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque
l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà
servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...
C'est tout mon problème, sans doute un problème de cache
interne à effacer ??
-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
=DECALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" <lstessels@wanadoo.fr> a écrit dans le message
de news:
06de01c36fbe$4be082e0$a101280a@phx.gbl...
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :
"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliser
des données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et
minutieux
processus de création de la liste
.
.
.
.
.
.
-----Message d'origine-----
Bonjour,
Oui : une liste de saisie de données doit impérativement
disposer d'une
feuille qui lui est exclusivement réservée au sein du
classeur... Je
nomme toujours cet onglet DATA. De même, je nomme DATA le
champ
dynamique de cette liste de saisie de données.
Dans certaines colonnes de votre liste de saisie de
données, si vous
voulez utiliser la fonction Validation pour limiter la
saisie à certains
éléments, je recommande de créer ces listes dans un onglet
à part nommé
Listes.
Par exemple, pour le champ Poste, la liste pourrait être :
Poste
Commis
Secrétaire
Directeur
Vendeur
Le titre de la colonne doit toujours être sur la ligne 1.
Disons que le
titre Poste est en A1. Vous créez un champ dynamique nommé
Poste pour
cette liste selon la formule :
ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Par la suite, de retour dans l'onglet DATA, vous
sélectionnez la colonne
de saisie pour les postes et vous demandez que les entrées
de cette
colonne soient limitées à la liste Poste.
Menu Données, Validation, Autoriser, Liste, Source, =Poste
Par la suite, grâce au champ dynamique, si vous ajoutez un
élément à la
liste Poste, cet élément est automatiquement ajouté à vos
listes
déroulantes de la colonne Poste de l'onglet DATA
N'hésitez pas à me revenir si mes explications ne sont pas
claires,
Céline
"Stessels" a écrit dans le message
de news:
086d01c3709a$532abc50$
Quelques précisions SVP, au risque de passer pour un
emm...eur !
Dois-je comprendre par là qu'une liste de saisie de données
doit impérativement disposer d'une feuille qui lui est
exclusivement réservée au sein du classeur...
Par ailleurs quel est, selon vous l'avantage de la formule
que vous proposez par rapport à celle proposée par AV par
exemple (formule qui, soit dit en passant, fonctionne à
ravir...)
J'aimerais comprendre...-----Message d'origine-----
Bonjour,
Un onglet de données doit servir UNIQUEMENT pour les données.
Il est impératif d'utiliser un onglet à part pour les
listes ou autresinformations.
Voici la formule pour créer un champ dynamique pour une
liste :ÞCALER(Listes!$A$2;;;NBVAL(Listes!$A:$A)-1)
Tu veux obtenir une mise à jour auto du TCD à l'ouverture
du classeur ?C'est dans Options du tableau, Actualiser à l'ouverture.
Céline
"Stessels" a écrit dans le message
de news:061001c37063$e9fe3490$
J'ai finalement pu résoudre le problème...
J'utilisais, en effet, une formule "générique", conforme à
celle proposée par Céline Brien
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Il m'a suffit de "personnaliser" la formule en tapant
NBVAL(Data!$A$1:$K$1) pour qu'Excel se comporte à nouveau
de manière civilisée et accepte docilement la plage
auto-dimensionnable lors de la création du TCD
J'en ai conclu que ce sont les" zones de listes", attachées
aux étiquettes de colonnes et stockées à droite de la
liste-source proprement dite qui étaient responsables du
dysfonctionnement de la formule, d'où l'importance de
toujours les positionner avec soin...
Merci de votre aide
En ce qui concerne la programmation destinée à automatiser
l'actualisation, je pensais recourir à une solution plus
simple pour déclencher la procédure "RefreshTable" (
évènement "Activate" sur une ou plusieurs feuilles du
classeur autres que la liste-source, ou une macro
auto-exécutable à l'ouverture du classeur)
Qu'en pensez-vous ?-----Message d'origine-----
Pas grand chose à ajouter à ce qui a été dit sur la façon
de nommerdynamiquement la plage du tableau si ce n'est (comme tu as
précisé le nombre dechamps) la plage :
ÞCALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$K$1))
(Etiquettes de colonnes en ligne 1)
Par contre, si tu veux la mise à jour auto du TCD, il faut
passer par une procévènementielle (xl2000)
Exemple avec tes données en A1:Kx et mise à jour du TCD si
les 11 champs sontrenseignés (à adapter ?) :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal zz As Range)
x = zz.Column: y = zz.Row: If x > 11 Then Exit Sub
If Application.CountA(Range(zz.Offset(0, -x + 1).Address &
":K" & y)) = 11 Then_
ActiveSheet.PivotTables("LeNomDuTCD").RefreshTable
End Sub
AV
"Stessels" a écrit dans le message
news:009f01c36ff4$09e2d5b0$
Il s'agit d'une appli de gestion assez complexe et
parfaitement au point, mais qui exige une actualisation
"manuelle" à chaque nouvelle entrée de données, étant donné
qu'une liste auto-dimensionnable n'a pas été établie lors
de la conception. L'opération qqui n"exige guère que
quelques secondes n'est pas très gênante. Ma démarche
actuelle (histoire de peaufiner...),tente néanmoins de
transformer l'application pour rendre ce processus
entièrement automatique.
La liste comporte 11 colonnes, (dont la dernière est
calculée) et il ne me semble pas qu'Excel puisse confondre
deux colonnes au cours du recalcul. Les noms sont les
suivants ; Date, Libellé, Imputation Dépenses, Recettes,
Type, N° Chèque, Emetteur, Catégorie, N° pièce, Mois-----Message d'origine-----
J'ai essayé ta procédure, mais je n'arrives pas à
reproduire le problème.
Question, quels sont les noms de colonnes de ta base de
données ?
--
Gaetan Mourmant
www.polykromy.com
Consultation - Formation
Excel - Data mining
"Stessels" a écrit dans le message
de news:066101c36fe0$051eae00$
La procédure est effectivement valable lorsque l'on crée le
TCD "from scratch" - dans la foulée, au départ d'une
liste-source auto-dimensionnable. Elle ne marche plus
lorsque le TCD a été créé au départ d'une liste non
auto-dimmensionnable, c'est à dire unne liste où la plage
"Data" n'existe pas encore.
Je persiste donc et je signe...
Merci quand même...-----Message d'origine-----
Salut,
Pour redéfinir la plage source une fois le TCD créé:
Tu cliques droit sur ton TCD. Tu choisis l'assistant
(Wizard en anglais).Sur le premier panel, tu cliques sur "Précédent" (back en
anglais).Le panel est désormais celui de la sélection de la plage.
Tu donnes la plage ÚTA
Tu cliques sur Terminer.
Salutations,
Daniel M.
"Stessels" wrote in message
news:063901c36fcd$d4288530$
Merci de votre réponse.
C'est effectivement la formule pour créer une liste-source
auto-redimensionnable... Cela marche très bien lorsque
l'on
crée le TCD dans la foulée, mais cela ne marche
malheureusement plus lorsque la liste-source a déjà
servi à
créer un TCD - soit AVANT que soit définie la plage
"Data"...C'est tout mon problème, sans doute un problème de cache
interne à effacer ??-----Message d'origine-----
Bonjour,
Titres des colonnes sur ligne 1
Aucune cellule vide dans les données de la colonne A
Menu Insertion, Nom, Définir.
Zone Noms dans le classeur : Data
Fait référence à :
ÞCALER(Data!$A$1;0;0;NBVAL(Data!$A:$A);NBVAL(Data!$1:$1))
Céline
"Stessels" a écrit dans le message
de news:06de01c36fbe$4be082e0$
Je m'efforce, sans succès, d'appliquer un champ dynamique
sur la liste-source d'un TCD EXISTANT.
Quelle que soit la manoeuvre, Excel me répond
obstinément :"Le nom du champ dynamique n'est pas valide.
Pour créer un tableau croisé dynamique, vous devez
utiliserdes données sous forme de liste avec des étiquettes de
colonnes. Si vous changez le nom d'un champ dynamique, il
vous faut taper un nouveau nom pour le champ "
Ceci, entre nous, ne veut rien dire... Je veux bien taper
n'importe quoi, mais je ne comprends pas bien !!
Existe-t-il une solution pour recréer le TCD sans être
obligé de recommencer depuis le début le long et
minutieux
processus de création de la liste
.
.
.
.
.
.