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 :

Eviter de mettre en dur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut Eviter de mettre en dur
    Bonjour à tous,

    Pour mon graphique, j'ai besoin des données disponibles dans mon TCD. Avec les mois, le graphique s'allonge. Donc mpour le mois d'octobre, mon graph s'allonge d'un mois par rapport à septembre.
    Je voudrais éviter de mettre en dur comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("A1:K3"), PlotBy:= _
            xlRows
    sachant que K3 est la derniere colonne d'un tableau que j'ai crée à partir de mon TCD, correspondaant au mois d'octobre.

    Comment faire pour qu'il dépende automatiquement du dernier mois?
    Thank uuuu

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Dans la FAQ tu as la méthode pour connaître le nombre de lignes d'un TCD. En l'adaptant au nombre de colonnes, tu peux établir ta plage et utiliser celle-ci pour modifier l'adresse de ta source.
    En utilisant le code de la FAQ, tu ajoutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Plage as string, NoCol as byte
    et pour fixer la nouvelle plage,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    NoCol = Pvt.TableRange2.Columns.Count
    Plage = Range(Cells(1,1), Cells(3,NoCol)).address
    ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range(Plage), PlotBy:= _
            xlRows
    (Pas testé, jamais fait sur un TCD)
    Tu dis
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    Merci Ouskel'n'or,
    mais est ce que je dois au préalable définir "Pvt.TableRange2"? car quand plage et col ne sont affectées à rien du tout quand je copie ton instruction à mon programme. Col =0 et plage=""
    Merci

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    En effet, sinon comment utiliser l'instance ? As-tu regardé le code fourni par SilkyRoad, dans la FAQ ? Tu dois utiliser la même syntaxe, déclaration et instance comprises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub TaMacro()
        Dim Pvt As PivotTable
     
        'Définit le TCD    
        Set Pvt = Worksheets("Feuil1").PivotTables("Tableau croisé dynamique1")
        '...
    Mais est-ce bien ta question ?
    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Par défaut
    En fait non, ce n'est pas la question. J'aurais du mieux m'exprimer. Du TCD, j'ai crée un tableau avec les mois en ordonnées. J'ai des données juskà octobre. et en décembre jaurai des données jusk en nov. Donc la plage de sélection de mes données s'aggrandit au fil du temps! Et c'est depuis ce new tableau que je fais mon graphq.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour ton graphe, tu utilises bien les données de ton TCD ? Si ton TCD a un mois de plus, il a aussi une colonne de plus ? Le code que t'ai indiqué visait à adapter la plage de données au nouveau TCD. Qu'est-ce que je ne comprends pas ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [phpMyAdmin] mettre en dur les choix d'un enum
    Par ledisciple dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 25/07/2012, 17h58
  2. [MySQL] Eviter les doublons ou mettre à jour suivant le cas
    Par Invité dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 23/07/2010, 14h39
  3. [PPT-2007] Eviter de mettre un texte par dessus un autre.
    Par Akxn0008 dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 29/07/2009, 17h41
  4. Eviter de coder en dur
    Par firgon dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 29/08/2008, 08h29
  5. eviter de mettre le chemin complet pour un properties?
    Par barthelus76 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 27/09/2007, 12h21

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