Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Actualisation automatique TCD (2)

7 réponses
Avatar
Pierre.M
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il
modifier la macro pour qu'elle fonctionne en ajout ET suppression de
lignes, ce qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.

7 réponses

Avatar
Daniel
Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé
dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en est
pas de meme si je supprime des lignes. Quelqu'un saurait-il modifier la
macro pour qu'elle fonctionne en ajout ET suppression de lignes, ce qui
est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.



Avatar
Pierre.M
Merci Daniel pour ton aide.

Aurais-tu encore la gentillesse de me preciser ce qu'il faut que je
modifie pour adapter cette macro a mes besoins? Je ne comprends
malheureusement pas encore tout... Telle que, elle est faite pour une
base de donnees de 2 colonnes, non? Moi j'en ai 12.

Joyeuses Paques.

Pierre


On 2006-04-14 22:26:51 +0200, "Daniel" said:

Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il
modifier la macro pour qu'elle fonctionne en ajout ET suppression de
lignes, ce qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.




Avatar
Daniel
De A à L ?
Daniel
"Pierre.M" a écrit dans le message de news:
444010a3$0$19720$
Merci Daniel pour ton aide.

Aurais-tu encore la gentillesse de me preciser ce qu'il faut que je
modifie pour adapter cette macro a mes besoins? Je ne comprends
malheureusement pas encore tout... Telle que, elle est faite pour une base
de donnees de 2 colonnes, non? Moi j'en ai 12.

Joyeuses Paques.

Pierre


On 2006-04-14 22:26:51 +0200, "Daniel" said:

Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé
dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit
Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il modifier
la macro pour qu'elle fonctionne en ajout ET suppression de lignes, ce
qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.








Avatar
Pierre.M
Oui, s'il te plait...


On 2006-04-14 23:30:41 +0200, "Daniel" said:

De A à L ?
Daniel
"Pierre.M" a écrit dans le message de news:
444010a3$0$19720$
Merci Daniel pour ton aide.

Aurais-tu encore la gentillesse de me preciser ce qu'il faut que je
modifie pour adapter cette macro a mes besoins? Je ne comprends
malheureusement pas encore tout... Telle que, elle est faite pour une
base de donnees de 2 colonnes, non? Moi j'en ai 12.

Joyeuses Paques.

Pierre


On 2006-04-14 22:26:51 +0200, "Daniel" said:

Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il
modifier la macro pour qu'elle fonctionne en ajout ET suppression de
lignes, ce qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.








Avatar
Daniel
Bonjour.
Regarde le classeur là :
http://cjoint.com/?epnwMDXL8f
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44401649$0$19720$
Oui, s'il te plait...


On 2006-04-14 23:30:41 +0200, "Daniel" said:

De A à L ?
Daniel
"Pierre.M" a écrit dans le message de news:
444010a3$0$19720$
Merci Daniel pour ton aide.

Aurais-tu encore la gentillesse de me preciser ce qu'il faut que je
modifie pour adapter cette macro a mes besoins? Je ne comprends
malheureusement pas encore tout... Telle que, elle est faite pour une
base de donnees de 2 colonnes, non? Moi j'en ai 12.

Joyeuses Paques.

Pierre


On 2006-04-14 22:26:51 +0200, "Daniel" said:

Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il
modifier la macro pour qu'elle fonctionne en ajout ET suppression de
lignes, ce qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.












Avatar
Pierre.M
Bonsoir Daniel,

desole pour la reponse tardive, mais je suppose qu'on a tous nos petits
soucis...
En tous cas merci pour tes efforts que j'apprecie à leurs justes
valeurs meme si, helas ton fichier ne fonctionne pas vraiment chez moi.
Soit je me suis mal fait comprendre, soit c'est un probleme de
configuration. J'ai un mac a titre prive (Excel X sur MacOSX) et un PC
au travail (Excel97 sur Windows98, sisi!). Ca ne marche sur aucun des 2
pour ce qui est de la suppression de lignes...
En attendant je conserve precieusement le fichier pour le jour ou mon
administration se modernisera.
Merci encore a toi.

Pierre


On 2006-04-15 13:23:08 +0200, "Daniel" said:

Bonjour.
Regarde le classeur là :
http://cjoint.com/?epnwMDXL8f
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44401649$0$19720$
Oui, s'il te plait...


On 2006-04-14 23:30:41 +0200, "Daniel" said:

De A à L ?
Daniel
"Pierre.M" a écrit dans le message de news:
444010a3$0$19720$
Merci Daniel pour ton aide.

Aurais-tu encore la gentillesse de me preciser ce qu'il faut que je
modifie pour adapter cette macro a mes besoins? Je ne comprends
malheureusement pas encore tout... Telle que, elle est faite pour une
base de donnees de 2 colonnes, non? Moi j'en ai 12.

Joyeuses Paques.

Pierre


On 2006-04-14 22:26:51 +0200, "Daniel" said:

Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il
modifier la macro pour qu'elle fonctionne en ajout ET suppression de
lignes, ce qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.












Avatar
Pierre.M
Bonjour Daniel,

en essayant de bricoler (mille pardons) ton fichier je viens enfin de
trouver pourquoi je n'arrive pas a le faire marcher en suppression de
lignes.
Selection ligne entiere en cliquant sur le n° de ligne.
Si clic-droit+effacer le contenu alors le TCD se met a jour tout seul
(par contre il me reste une ligne vide dans ma base de donnees. Si je
la supprime alors le TCD rajoute une ligne (vide) et il faut rafraichir
manuellement pour la faire disparaitre).
Si clic-droit+supprimer alors pas de mise a jour mais plus de ligne vide...
J'aimerais supprimer et mise a jour rafraichissement automatique. Possible?
Desole pour le soucis.

Amicalement.

Pierre



On 2006-04-19 22:31:16 +0200, Pierre.M said:

Bonsoir Daniel,

desole pour la reponse tardive, mais je suppose qu'on a tous nos petits
soucis...
En tous cas merci pour tes efforts que j'apprecie à leurs justes
valeurs meme si, helas ton fichier ne fonctionne pas vraiment chez moi.
Soit je me suis mal fait comprendre, soit c'est un probleme de
configuration. J'ai un mac a titre prive (Excel X sur MacOSX) et un PC
au travail (Excel97 sur Windows98, sisi!). Ca ne marche sur aucun des 2
pour ce qui est de la suppression de lignes...
En attendant je conserve precieusement le fichier pour le jour ou mon
administration se modernisera.
Merci encore a toi.

Pierre


On 2006-04-15 13:23:08 +0200, "Daniel" said:

Bonjour.
Regarde le classeur là :
http://cjoint.com/?epnwMDXL8f
Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
44401649$0$19720$
Oui, s'il te plait...


On 2006-04-14 23:30:41 +0200, "Daniel" said:

De A à L ?
Daniel
"Pierre.M" a écrit dans le message de news:
444010a3$0$19720$
Merci Daniel pour ton aide.

Aurais-tu encore la gentillesse de me preciser ce qu'il faut que je
modifie pour adapter cette macro a mes besoins? Je ne comprends
malheureusement pas encore tout... Telle que, elle est faite pour une
base de donnees de 2 colonnes, non? Moi j'en ai 12.

Joyeuses Paques.

Pierre


On 2006-04-14 22:26:51 +0200, "Daniel" said:

Bonsoir.
Modifie la macro de la feuille comme suit, ça devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
If Target.Column > 3 Then Exit Sub
On Error Resume Next
Set Plage = Intersect(Target, Range("A:B"))
If Plage.Count > 1 Then
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End If
If Target.Column = 2 And Target.Offset(0, -1).Value = "" Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 1).Value = "" Then Exit Sub
Sheets(2).PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End Sub

Cordialement.
Daniel
"Pierre.M" a écrit dans le message de news:
443fe72e$0$6641$
Bonjour à tous,

Un peu plus bas dans ce forum Daniel m'a donné une solution pour
automatiser l'actualisation d'un TCD. Merci a lui.
Cependant si sa solution marche super en cas d'ajout de ligne il n'en
est pas de meme si je supprime des lignes. Quelqu'un saurait-il
modifier la macro pour qu'elle fonctionne en ajout ET suppression de
lignes, ce qui est souvent le cas d'un tableau "dynamique", non?
Merci de votre participation a mon soucis.

Pierre.