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
- Votre envoi n'a pas pu être distribué ce jour et sera remis en livraison au plus tôt. le choix de la date de relivraison ou d'un point de retrait est possible jusqu'à minuit sur notre site internet. ✓ - Forum Consommation & Internet
- Téléchargez le fichier et modifiez-le avec le logiciel de montage vidéo de votre choix. supprimez les 3 moments avec le papillon : votre vidéo est donc fractionnée en 4 morceaux. dupliquez le premier morceau et placez la copie à la fin de la vidéo. déplacez le deuxième morceau à la fin de vidéo. recollez tous les morceaux pour ne pas laisser de blanc. à quelle seconde peut-on voir la bouteille encore entière ? - Forum Bureautique
- Excel intervalle entre 2 valeurs ✓ - Forum Excel
- 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.