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/07/2009, 19h26   #1
Futur Membre du Club
 
Inscription : août 2005
Messages : 56
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 56
Points : 17
Points : 17
Par défaut aide pour lister les TCD du fichier

Bonjour à tous et à toutes
et bonne fin de semaine (bon week-end, en français métropolitain)

J'essaie de créer une liste dees TCD de mon fichier dansune nouvelle feuille de calcul, et ça ne marche pas.
Quelqu'un peut-il (ou elle) m'aider, ce serait très gentil, agréable et néammoins pratique ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub ListerPtWbWs()
Dim rw As Range
Dim i As Integer
Dim ws As Worksheet
Set nwSheet = Worksheets.Add
nwSheet.Activate
rw = 0
For Each ws In Worksheets
      If ws.PivotTables.Count > 0 Then
           For i = 1 To ws.PivotTables.Count
                rw = rw + 1
                nwSheet.Cells(rw, 1).Value = ws.PivotTables.Name
           Next i
        End If
Next ws
 
End Sub
Merci beaucoup.
P.S. autodidacte, j'avance un peu à tâtons, bout de code par bout de code. Alors un grand MERCI à tous ceux et celles qui posent des questions et/ou y répondent.
Chordially

Dernière modification par AlainTech ; 07/07/2009 à 23h29.
chordially est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2009, 21h03   #2
Membre confirmé
 
Inscription : octobre 2007
Messages : 232
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 232
Points : 235
Points : 235
Bonsoir,

essaie avec ce code :

Code :
1
2
3
4
5
6
7
8
9
10
Sub ListerPtWbWs()
Dim ws As Worksheet
Dim Pvt As PivotTable
Set nwSheet = Worksheets.Add
For Each ws In Worksheets
    For Each Pvt In ws.PivotTables
        Range("A65000").End(xlUp)(2).Value = Pvt.Name
    Next Pvt
Next ws
End Sub
Bonne soirée
mapeh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2009, 01h07   #3
Futur Membre du Club
 
Inscription : août 2005
Messages : 56
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 56
Points : 17
Points : 17
Merci pour la réponse. J'avance, mais l'inventaire des TCD vient se placer à la première ligne non vide sous les TCD de la feuille qui les contient.
Je préfèrerais que ça soit dans la nouvelle feuille que je crée justement pour les y retrouver.
Peux-tu encore m'aider ?

Merci beaucoup.

Chordially

Dernière modification par AlainTech ; 07/07/2009 à 23h29. Motif: Suppression de la citation
chordially est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2009, 01h36   #4
Futur Membre du Club
 
Inscription : août 2005
Messages : 56
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 56
Points : 17
Points : 17
Par défaut Mon erreur... ça marche

Bonjour, Mapeh,

Mon erreur vient du fait que j'ai disposé le code dans la feuille où se trouvent déjà des TCD.
Le code que tu m'as envoyé ajoutait donc les noms des tcd dans cette feuille.
En le mettant dans ThisWorkbook, il fonctionne à merveille.

Je vais pouvoir aller de l'avant.

Merci et prends soin de toi.

Chordially
chordially est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2009, 09h41   #5
Membre confirmé
 
Inscription : octobre 2007
Messages : 232
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 232
Points : 235
Points : 235
Bonjour,

Attention,

Une procédure s'écrit dans un module normal, et non dans un évènement de feuille, notamment pour éviter quelques désagréments du type que tu as connu....

Pour ce faire, tu fais un clic droit sur ThisWorkBook (par exemple), et tu fais Insertion/Module.

Ensuite, tu colles le code dans ce module standard.

Ce n'est pas une bonne habitude à prendre, c'est ce qu'il faut faire....

Citation:
prends soin de toi.
Euh, comment tu sais que je suis malade?

Bon dimanche
mapeh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 12h26.


 
 
 
 
Partenaires

Hébergement Web