IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ordonner automatiquement Etiquette Ligne dans TCD


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut Ordonner automatiquement Etiquette Ligne dans TCD
    Re bonjour à tous,

    Voici un problème pour lequel je ne suis pas sûr qu'il existe une solution.

    Enoncé : je génère un TCD via une macro, dans ce tableau je souhaiterais que l'étiquette des lignes s'ordonne suivant une règle. La règle qui définit l'agencement est définit par un tableau (2 colonnes : Dosages et Ordre) stocké sur une feuille du classeur.
    Mais il faut que je puisse conserver la possibilité d'ajouter des dosages et des n°ordre, d'où des n° ordre qui ne se suivent pas forcément, de plus tous les intitulés ne pas forcément appelés dans le tableau créé... tout un programme.

    Dosages Ordre
    pH 1
    AT 3
    AV 4
    ATP 10

    J'ai commencé en insérant la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .PivotItems("AT").Position = 3
    Mais cela est peu esthétique et peu dynamique, pour un TCD c'est un comble n'est-il pas ?
    En écrivant ce post je me rend compte que la création de deux variables pour stocker le Dosage et l'Ordre serait peut-être une solution, puis créer une boucle.

    Alors cela vous inspire-t-il ?

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 438
    Points : 16 296
    Points
    16 296
    Par défaut
    Bonjour

    Par défaut les TCD utilisent les listes personnalisées pour les tris. En créant une liste personnalisées selon ton ordre (ce qui nécessitera de la mette à jour si des dosages s'ajoutent) et en paramétrant le tri automatique (options de tri supplémentaire auto ascendant sur ton étiquette) cela sera toujours classé selon ta liste.

    Sinon effectivement c'est une boucle...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim PI As PivotItem, Dosages As Variant
        Dosages = Array("pH", "AT", "AV", "ATP")
        With ActiveSheet.PivotTables(1).PivotFields("Dosages")
            For Each PI In .PivotItems
                 PI.Position = Application.Match(PI.Caption, Dosages, 0)
            Next PI
        End With
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  4. #4
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Merci Daniel.C pour cette proposition que je vais tester demain.
    Hier en fait je suis parti sur l'attribution d'une valeur à chaque dosages dans le tableau servant à générer le TCD, puis je définit un classement croissant dans le TCD après création .
    Ta solution m'intéresse car je n'ajoute pas de colonne à mon tableau initial.

Discussions similaires

  1. [XL-2007] Insertion automatique de ligne dans plusieurs tableaux
    Par chaibmax dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/04/2011, 15h33
  2. Réponses: 7
    Dernier message: 04/02/2011, 11h50
  3. [WD-2003] Insertion automatique de ligne dans tableau word après renvoi à la ligne
    Par melouille56 dans le forum VBA Word
    Réponses: 5
    Dernier message: 05/08/2009, 15h49
  4. Revenir automatiquement à la ligne dans un Edit
    Par souminet dans le forum Débuter
    Réponses: 4
    Dernier message: 26/04/2008, 14h20
  5. insertion automatique de lignes dans la crontab
    Par Mr_Brown dans le forum Administration système
    Réponses: 2
    Dernier message: 27/03/2007, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo