Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 07h13   #1
Invité de passage
 
Homme
Consultant fonctionnel
Inscription : octobre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Consultant fonctionnel
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : octobre 2011
Messages : 7
Points : 0
Points : 0
Par défaut mise à jour des TDC

bonjour à tous et bonne année
J'aimerai sur un de mes fichier qui contient 3 tableaux croisés qu'il se mettent automatiquement à jour mais je ne sais pas faire de macro
l'idéal serait d'avoir un bouton sur la feuille qui l'orque l'on clic dessus les mettent à jour mais je ne sais pas faire
merci pour votre aide
number8326200 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 08h59   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Il faut utiliser l'évènement Worksheet_Change de la feuille contenant les données. Tu vérifies que le paramètre Target correspond bien à des cellules de ta plage de données (avec Intersect par exemple).
Et dans cet évènement tu fais :
Code :
target.Worksheet.PivotTables("Nom de ton TCD").PivotCache.Refresh
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 07h17   #3
Invité de passage
 
Homme
Consultant fonctionnel
Inscription : octobre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Consultant fonctionnel
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : octobre 2011
Messages : 7
Points : 0
Points : 0
Comme je l'ai signalé dans mon premier message je n'y connait rien au macros et ta reponse pour moi est assez floue
peux tu être un peu plus clair pour un novice
number8326200 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 09h33   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Il y a des tutos pour débutant qui ne sont pas longs à lire sur ce site. Ça te donnera une petite base.
Ensuite, pour ton cas qui est assez simple, n'hésite pas en tant que débutant à utiliser l'enregistreur de macro, il te donnera une structure de code (qui devrait ressembler à ce que je t'ai donné) que tu peux nous fournir pour que l'on t'aide à l'adapter plus proprement.
Une fois que tu as la macro, tu peux soit l'associer à un bouton de formulaire (click droit / associer une macro), soit à un contrôle bouton (dans ce cas tu double clique sur le bouton et mode édition, cela te crée la structure de l'évènement click du bouton et tu appelles ta macro dedans).

Si c'est encore trop flou pour toi, vraiment va voir les quelques tutos de débutant du site. S'il te reste des questions plus précises, n'hésite pas.

Voici un code qui met à jour tous les TCD d'un classeur, à copier dans un module :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Option Explicit
 
Public Sub MiseAJourTCD()
    Dim ws As Worksheet
    Dim tcd As PivotTable
 
    For Each ws In Worksheets 'Pour chaque feuille de ton classeur
        For Each tcd In ws.PivotTables 'Pour chaque TCD de cette feuille
            tcd.PivotCache.Refresh 'On le raffraichit
        Next tcd
    Next ws
End Sub
Pour l'appliquer à un bouton, il faut que tu crée un bouton. Par exemple en affichant la barre d'outil formulaire (Affichage - Barre d'outils - Formulaire sous 2003), tu vois des cases à cocher, des listes de choix... Tu choisis le bouton et tu en dessines un quelque part dans ton classeur.
Normalement, il te propose directement de lui associer une macro, tu peux choisir "MiseAJourTCD" que tu viens de copier. Sinon tu fais click droit - affecter une macro.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 19h22   #5
Invité de passage
 
Homme
Consultant fonctionnel
Inscription : octobre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Consultant fonctionnel
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : octobre 2011
Messages : 7
Points : 0
Points : 0
J'ai bien créé le bouton , j'ai fait un copier collé de ta macro et le message suivant s'affiche :
Impossible d'exécuter la macro 'XXXXXXX!bouton1_Clic'. il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées.
Pourtant j'ai bien acitvé les macro à l'ouverture du fichier!! je en voit pas..
number8326200 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 09h30   #6
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Explique en détail où tu as copié la macro, comment tu as créé le bouton... Pour voir ce qui ne colle pas.
__________________
« Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
« Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h25.


 
 
 
 
Partenaires

Hébergement Web