Choix de champs de valeurs GCD
Fermé
V.meca
Messages postés
4
Date d'inscription
vendredi 19 avril 2013
Statut
Membre
Dernière intervention
22 avril 2013
-
Modifié par V.meca le 22/04/2013 à 09:59
JamesH_007 - 22 avril 2013 à 15:34
JamesH_007 - 22 avril 2013 à 15:34
A voir également:
- Choix de champs de valeurs GCD
- Liste déroulante de choix excel - Guide
- Word mettre à jour tous les champs ✓ - Forum Word
- Votre envoi est réexpédié à la demande du destinataire vers l'adresse de son choix. - Forum Réseaux sociaux
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Réseaux sociaux
- Générique champs elysées john miles - Forum Musique / Radio / Clip
1 réponse
Bonjour. J'ai récemment créé un outil pour arriver à calculer la productivité de mon équipe me basant sur un tableau croisé dynamique. Peut-être que ma macro te sera aussi utile, car je dois mettre un filtre à chaque fois baser sur le nom de la personne concernée pour arriver à calculer sa productivité.
Le classeur contient 2 onglets, le premier (Tableau Main) contient tous les noms des utilisateurs et le deuxième (Activity) contient le TCD. La macro va accéder à tous les noms dans la rangé B:B en commençant par la cellule B7 et s'arrêtera une fois qu'elle rencontrera une cellule vide. Note bien que la rangé B:B ne contient pas le nom de la personne, mais une référence « OK/NOK » afin de pouvoir choisir les noms qu'on ne veut pas traiter. Les noms se situent juste à côté, d'où l'utilisation du « ActiveCell.Offset(0, 1) ». Voilà, la macro va tourner en boucle et tu vas pouvoir ajouter l'action spécifique une fois qu'un tri a été appliqué.
Sub Maj_ TCD()
Sheets("Tableau Main").Select
Dim Nom_utilis
Range("B7").Select
Do
Dim OK_NOK As Range
Set OK_NOK = ActiveCell
If OK_NOK = "OK" Then
Nom_utilis = ActiveCell.Offset(0, 1).Value
'Retirer les filtres de tout les pivot existant:
Dim nom_utilisateur As PivotItem
Sheets("Activity").Select
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Nom utilis. ayant saisi comm.")
.PivotItems("(blank)").Visible = True
For Each nom_utilisateur In .PivotItems
If nom_utilisateur.Name <> "(blank)" Then
nom_utilisateur.Visible = False
End If
Next
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Nom utilis. ayant saisi comm.")
.PivotItems(Nom_utilis).Visible = True
.PivotItems("(blank)").Visible = False
End With
`Ici une action a faire avec le filtre actuel
Sheets("Tableau Main").Select
ActiveCell.Offset(1, 0).Select
Set OK_NOK = ActiveCell
Loop Until OK_NOK.Value = ""
OK_NOK.Select
End Sub
Bonne journée.
Le classeur contient 2 onglets, le premier (Tableau Main) contient tous les noms des utilisateurs et le deuxième (Activity) contient le TCD. La macro va accéder à tous les noms dans la rangé B:B en commençant par la cellule B7 et s'arrêtera une fois qu'elle rencontrera une cellule vide. Note bien que la rangé B:B ne contient pas le nom de la personne, mais une référence « OK/NOK » afin de pouvoir choisir les noms qu'on ne veut pas traiter. Les noms se situent juste à côté, d'où l'utilisation du « ActiveCell.Offset(0, 1) ». Voilà, la macro va tourner en boucle et tu vas pouvoir ajouter l'action spécifique une fois qu'un tri a été appliqué.
Sub Maj_ TCD()
Sheets("Tableau Main").Select
Dim Nom_utilis
Range("B7").Select
Do
Dim OK_NOK As Range
Set OK_NOK = ActiveCell
If OK_NOK = "OK" Then
Nom_utilis = ActiveCell.Offset(0, 1).Value
'Retirer les filtres de tout les pivot existant:
Dim nom_utilisateur As PivotItem
Sheets("Activity").Select
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Nom utilis. ayant saisi comm.")
.PivotItems("(blank)").Visible = True
For Each nom_utilisateur In .PivotItems
If nom_utilisateur.Name <> "(blank)" Then
nom_utilisateur.Visible = False
End If
Next
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Nom utilis. ayant saisi comm.")
.PivotItems(Nom_utilis).Visible = True
.PivotItems("(blank)").Visible = False
End With
`Ici une action a faire avec le filtre actuel
Sheets("Tableau Main").Select
ActiveCell.Offset(1, 0).Select
Set OK_NOK = ActiveCell
Loop Until OK_NOK.Value = ""
OK_NOK.Select
End Sub
Bonne journée.