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 :

Problème de macro dans un tcd


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Problème de macro dans un tcd
    Bonjour à tout,
    J'ai écris une macro (pas très douée) afin ce créer mettre des champs en e
    étiquettes de lignes, en prenant en référence une cellule d'un autre tableau qui se trouve sur une autre feuille (selection).
    Ca marche mais quand je change l'adresse de la selection
    ex (.AddFields RowFields:=Cells(9, 5).Value) au lieu de Cells(8, 5), le changement se fait bien mais écrase le premier champs au lieu de se rajouter.
    Je pense qu'il manque un morceau dans ma macro mais quand je met . position :.... cela me créé une erreur

    Merci de m'aider.
    Joint le fichier.

    Bon dimanche à vous
    Fichiers attachés Fichiers attachés

  2. #2
    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,

    Utilise l'enregistreur de macros, c'est le meilleur moyen de progresser. Tu remplaces ensuite les noms de champ par leur adresse.
    Cordialement.

    Daniel

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

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour Daniel,
    Merci de la réponse mais c'est justement çà que je ne sais pas transcrire dans la macro.
    Peux tu m'aider ?

    Merci

  4. #4
    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
    Je ne peux pas tester n'ayant pas les données du TCD. La macro remplace le champ de E8 par celui de E9. Si ça ne fonctionne pas, mets en PJ un classeur avec TCD ET les données qui vont avec.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        With Sheets("tcd").PivotTables("tcd")
            With .PivotFields([Selection!E8].Value)
                Orientation = xlHidden
            End With
            With .PivotFields([Selection!E9].Value)
                .Orientation = xlRowField
                .Position = 2
            End With
        End With
    Cordialement.

    Daniel

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

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonsoir Daniel

    Merci beaucoup !effectivement çà marche pour la sélection des champs,
    maintenant peux tu me donner l'écriture pour que le champs se nomme avec le contenu de la cellule G15. J'ai mis ([Selection!G15].Value) mais évidemment çà ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro96()
        Sheets("tcd").Select
        ActiveSheet.PivotTables("tcd").AddDataField ActiveSheet.PivotTables("tcd"). _
            PivotFields([Selection!G15].Value), ([Selection!G15].Value), xlSum
            Sheets("Selection").Select
    Merci à toi.

  6. #6
    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,

    Ou je me trompe, ou Selection!G15 n'est pas un champ de ton TCD.
    Cordialement.

    Daniel

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

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Excact ce n'est pas un nom de champ mais dans g15 de la feuille Selection il y a le nom que je veux donner au champs mais je ne sais encore une fois pas l'exprimer en VBA en sachant que normalement cela devrait s'exprimer par ex "101" dans l'exemple ci dessous. 101 est également Inscrit dans le cellule G5 en l'occurence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro101()
        Sheets("tcd").Select
        ActiveSheet.PivotTables("tcd").AddDataField ActiveSheet.PivotTable("tcd"). _
            PivotFields([Selection!G5].Value), " 101", xlSum
            Sheets("Selection").Select
    Merci de ton aide Daniel. Je ne peux pas t'envoyer d'extrait du fichier de cet ordi, çà bloque, mais je pense que mon exemple est assez clair.

  8. #8
    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
    Oui, mais dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PivotFields([Selection!G5].Value), " 101", xlSum
    "[Selection!G5]" doit représenter le "vrai" nom de champ. Tu peux remplacer "101" dans le paramètre suivant par le nom qu'il te plait, qu'il soit dans une cellule ou entre guuillemets.
    Cordialement.

    Daniel

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

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'ai bien compris mais je voudrais qu'il reprenne le vrai nom du champs mais sans mettre somme de devant.
    De plus dans la macro je ne peux pas faire sans mettre le paramètre du nom du champs en tout cas en ce qui concerne les champs de données d'un tcd.

    Merci

  10. #10
    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
    Utilise la syntaxe suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        ActiveSheet.PivotTables("Tableau croisé dynamique1").DataPivotField.PivotItems( _
            "Somme de Nombre").Caption = "toto"
    Cordialement.

    Daniel

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

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Ce n'est toujours pas clair.
    en Caption je voudrais récupérer ce qu'il y a écrit dans la cellule G5 mais peut -être n'est ce pas possible !?

  12. #12
    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
    Utilise l'enregistreur de macros. Si tu n'y arrives pas, poste ce que tu as obtenu.
    Cordialement.

    Daniel

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

Discussions similaires

  1. Problème pour lancer une macro dans Excel
    Par jujuf1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/12/2008, 16h32
  2. problème macro dans Powerpoint 2002
    Par stupidø dans le forum VBA PowerPoint
    Réponses: 5
    Dernier message: 24/04/2008, 10h54
  3. [VBA-E]problème d'indice pour macro dans perso.xls
    Par fred38 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/05/2007, 23h33
  4. [VBA-E] Problème de tableau dans macro VBA
    Par Chouls dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2006, 15h20
  5. problème de condition dans une macro
    Par Skizo dans le forum Access
    Réponses: 3
    Dernier message: 15/05/2006, 11h22

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