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

TCD Actualisation automatique

3 réponses
Avatar
Raphael
Bonjour,

Je viens de decouvrir ce forum sur le net et j'espere que vous pourrez
m'aider sur mon probleme.
J'ai visite le site internet www.excellabo.net qui est vraiment super pour
un debutant comme moi.

J'ai essaye d'appliquer la solution que vous preconisez pour l'actualisation
automatique d'un TCD, cependant je n'y arrive pas. Ce qui me pose probleme
c'est la seconde partie de l'explication:

" Ensuite pour l'actualiser auto à la saisie :
Dans le module attaché à la feuille (clic droit sur l'onglet > visualiser
le code) :
Private Sub
Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
ActiveSheet.PivotTables("monTCD").
RefreshTable
End Sub "

Je dois preciser que je travaille sur excel en anglais.
Le module attaché a la feuille signifie-t-il le PivotTable avec lequel vous
pouvez modifier la table de Pivot? Visualiser le code signifie-t-il Visual
basic? Si tel est le cas ou dois-je taper le programme inscrit? J'ai essayé
enregistrer une macro quelconque et ensuite l'editer, a partir de la j'ai
essayé de taper le programme mais je rencontre des problemes des la premiere
ligne au niveau de "As Range" Visual Basic m'indique un erreur de syntaxe.
Est-il normal que le endif n'apparaisse pas non plus? Il y a aussi un point "
("monTCD") ", ce qui m'a aussi indiqué une erreur de syntaxe.

Je vous remercie de l'aide que vous pourrez m'apporter.

Cordialement

Raphael

3 réponses

Avatar
Ricky
Bonjour *Raphael*


| " Ensuite pour l'actualiser auto à la saisie :
| Dans le module attaché à la feuille (clic droit sur l'onglet >
| visualiser
| le code) :
| Private Sub
| Worksheet_SelectionChange(ByVal Target As Range)
| If Target.Column = 2 Then
| ActiveSheet.PivotTables("monTCD").
| RefreshTable
| End Sub "
|
| Je dois preciser que je travaille sur excel en anglais.

Clic droit sur l'onglet (Feuil1 ou sheet1) puis dans ce menu visualiser ce qui revient effectivement à faire ALT+F11 et affiche la fenêtre VB

| Le module attaché a la feuille signifie-t-il le PivotTable avec
| lequel vous pouvez modifier la table de Pivot? Visualiser le code
| signifie-t-il Visual basic? Si tel est le cas ou dois-je taper le
| programme inscrit? J'ai essayé enregistrer une macro quelconque et
| ensuite l'editer, a partir de la j'ai essayé de taper le programme
| mais je rencontre des problemes des la premiere ligne au niveau de
| "As Range" Visual Basic m'indique un erreur de syntaxe. Est-il normal
| que le endif n'apparaisse pas non plus? Il y a aussi un point "
| ("monTCD") ", ce qui m'a aussi indiqué une erreur de syntaxe.
|

Dans la fenêtre Project tu dois voir ton classeur et ses différentes feuilles sous Microsoft Excel Object.
La feuille qui doit contenir le code est sélectionnée
Dans la fenêtre de droite deux listes déroulantes : General et Declarations
Déroule General et choisis Worksheet
Déroule ensuite l'autre liste et choisis SelectionChange mais il arrive en principe par défaut
Reste à y copier le code



--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
michdenis
Bonjour Raphaël,

| Le module attaché a la feuille signifie-t-il le PivotTable

Chaque feuille de calcul possède une feuille module et pour y accéder, tu fais un clic droit sur l'onglet de la feuille que tu
désires et dans la liste déroulante du menu contextuel tu choisis la commande "Visualiser le code" ou la commande appropriée en
Anglais.

Dans le haut de cette fenêtre, il y a 2 listes déroulantes

Celle de gauche, affiche les objets (Worksheet c'est la feuille elle-même en tant qu'objet, et tous les contrôles ajoutés à la
feuille issu de la barre d'outils "contrôle") contenu dans la feuille.

Selon l'objet sélectionné dans cette liste déroulante, tu ouvres la liste déroulante de droite et tu verras la liste des événements
possibles associés à cet objet. Un événement dans Excel représente en fait l'action qui déclenchera la macro ...(le code défini pour
cet événement).


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
ActiveSheet.PivotTables("monTCD").RefreshTable
End Sub

Ce code s'exécute à chaque fois qu'une cellule de la colonne 2 de la dite feuille passe en mode édition ...(soit en modifiant la
valeur de la cellule ou simplement en double-cliquant sur cette dernière ou en utilisant la touche F2 ... à la validation (sortie de
la cellule) le code s'exécute.

ActiveSheet.PivotTables("monTCD").RefreshTable
Dans cette ligne de code, Remplace "MonTcD" par le nom de ton TcD de ta feuille.


Salutations!




"Raphael" a écrit dans le message de news:
Bonjour,

Je viens de decouvrir ce forum sur le net et j'espere que vous pourrez
m'aider sur mon probleme.
J'ai visite le site internet www.excellabo.net qui est vraiment super pour
un debutant comme moi.

J'ai essaye d'appliquer la solution que vous preconisez pour l'actualisation
automatique d'un TCD, cependant je n'y arrive pas. Ce qui me pose probleme
c'est la seconde partie de l'explication:

" Ensuite pour l'actualiser auto à la saisie :
Dans le module attaché à la feuille (clic droit sur l'onglet > visualiser
le code) :
Private Sub
Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
ActiveSheet.PivotTables("monTCD").
RefreshTable
End Sub "

Je dois preciser que je travaille sur excel en anglais.
Le module attaché a la feuille signifie-t-il le PivotTable avec lequel vous
pouvez modifier la table de Pivot? Visualiser le code signifie-t-il Visual
basic? Si tel est le cas ou dois-je taper le programme inscrit? J'ai essayé
enregistrer une macro quelconque et ensuite l'editer, a partir de la j'ai
essayé de taper le programme mais je rencontre des problemes des la premiere
ligne au niveau de "As Range" Visual Basic m'indique un erreur de syntaxe.
Est-il normal que le endif n'apparaisse pas non plus? Il y a aussi un point "
("monTCD") ", ce qui m'a aussi indiqué une erreur de syntaxe.

Je vous remercie de l'aide que vous pourrez m'apporter.

Cordialement

Raphael
Avatar
Raphael
Rebonjour Ricky

tout d'abord merci beaucoup ca m'a beaucoup aider.

Mais malheureusement il reste un petit probleme:

Lors de l'actualisation, Excel m'indique: "Object doesn't support this
property or method". Il me demande soit de terminer ("End") ou de debugger
("debug"). Et ceux a chaque fois que je clique sur une cellule.
Ce qui est particulier c'est que tout fonctionne correctement si je laisse
Visual Basic ouvert, mais si je tente de le fermer cela m'indique:"This
command will stop the debugger".

Ce que je voudrais c'est simplement utiliser le tableau sans laisser ouvert
Visual Basic.

Merci d'avance

Raphael