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 :

[VBA] excel croisé dynamique et plage de données variables


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut [VBA] excel croisé dynamique et plage de données variables
    Bonjour,
    Dans mon classeur j'ai 2 feuilles :
    1 données
    1 tableau croisé dynamique

    la feuille données s'incremente quotidiennement de nouveaux enregistrements, or le tableau lui n'ajuste pas sa plage de données et donc n'est pas actualisé.
    Existe t-il un moyen, à l'ouverture du classeur d'ajuster la plage de recherche du tableau
    Merci de votre aide
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  2. #2
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
            "Feuil1!R1C1:R22C8", TableDestination:="R1C1:R4C1", TableName:= _
            "Tableau croisé dynamique3"
    Comment peut-on compter le nombre de lignes remplies dans la feuille, pour transmettre la valeur R22 variable
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  3. #3
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Ce code te donne le numéro de ligne de la dernière cellule de la huitième colonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DerniereLigne = Cells(32000, 8).End(xlUp).Row
    Ca devrait t'aider, non?

  4. #4
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Merci
    j'avais trouvé ça
    nbLignes = NBVAL("Feuil1!A2:A100")
    dans le code de la sub je n'arrvie pas à l'utiliser;
    erreur fonction non définie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      Dim nbLignes As Long
      nbLignes = NBVAL("Feuil1!A2:A22")
        ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
            "Feuil1!R1C1:R22C"&nbLignes , TableDestination:="R1C1:R4C1", TableName:= _
            "Tableau croisé dynamique3"
    End Sub
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  5. #5
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    C'est vrai, ça, c'est quoi, ce NBVAL?
    Mais si ça ne marche pas, je t'assure que le petit bout de code que je t'ai donné marche bien, lui.
    Et fais attention, je crois que tu mélanges les numéros de ligne (R) et de colonne (C)

  6. #6
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    J'ai un petit prob pour lui signifier que Cells(32000, 8) doit s'opérer sur la feuille1
    Merci encore de ton aide[/code]
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  7. #7
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Heuuu... Comme ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DerniereLigne = ActiveWorkbook.Worksheets("Feuil1").Cells(32000, 8).End(xlUp).Row

  8. #8
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Merci Megaxel, , ca fonctionn bien

    Pour finir, est - il possible que cette fonction soit déclencher à l'ouverture du fichier sans que l'utilisateur n'est a actionner un bouton de la feuille
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  9. #9
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Sub auto_open() :
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  10. #10
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Je suis obligé de mettre ma feuille de données dans un classeur different de celui qui contient le croisé dynamique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    nbLignes = 
    ActiveWorkbook.Worksheets("Feuil1").Cells(32000, 8).End(xlUp).Row
    Faut il que j'active le classeur qui contient les donnees :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks.Open "chemin_nom_classeur.xls"
    [/quote]
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  11. #11
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Prob : la variable n'est pas transmise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub auto_open()
     
    ' Macro4 Macro
    ' Macro enregistrée le 04/01/2006 par Herrbrecht
    Dim DerniereLigne  As Long
    Workbooks.Open "C:\TestXLS\data.xls"
    DerniereLigne = ActiveWorkbook.Worksheets("Feuil1").Cells(32000, 8).End(xlUp).Row
    MsgBox (DerniereLigne) 'ICI Le msgBox apparait
    DerniereLigne = DerniereLigne - 1 
    'Workbooks.Close
    Workbooks.Open "C:\TestXLS\tab.xls"
    MsgBox (DerniereLigne)'ICI Le msgBox n'apparait pas, et la valeur DerniereLigne n'est pas prise en comtpe
    ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
            "'\TestXLS\[data.xls]Feuil1'!R1C1:R" & DerniereLigne & "C8", TableDestination _
            :="R1C1:R5C1", TableName:="Tableau croisé dynamique2"
    End Sub
    [/code]
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

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

Discussions similaires

  1. [XL-2007] VBA graphique croisé dynamique: erreur données en %
    Par Piloute69 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/06/2010, 16h36
  2. tableau croisé dynamique avec plage de sélection variable
    Par nat44 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/07/2008, 13h29
  3. Réponses: 1
    Dernier message: 22/09/2006, 13h05
  4. sélectionner plage de données variable sous Excel
    Par pschmidtke dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2006, 15h25
  5. [VBA Excel] Un problème de recopie des données de l'userform
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 14h48

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