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 :

Macro pour TCD créé sur feuille avec onglet de couleur et renommé à la date du jour


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien agent de maitrise
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Technicien agent de maitrise
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Macro pour TCD créé sur feuille avec onglet de couleur et renommé à la date du jour
    J'ai crée une macro pour lancer quelques colonnes de formules qui me servent de données pour mon TCD. Le pb est que quand je lance la macro, mon TCD se crée sur une feuille qui se renomme toute seule en "feuil1". Jusque là, pas de pb. Mais le lendemain, lorsque je relance ma macro, un message d'erreur apparait car la macro essaye de créer le TCD sur une feuille renommé automatiquement "feuil2" alors que le code de la macro indique "feuil1".Ci joint le fichier allégé car en réalité il y a entre 35000 et 45000 lignes par jour de données sur la feuille.
    Donc je souhaiterais que la macro crée un TCD sur une feuil avec onglet rouge et à la date du jour en format dd_mm_yy.
    Par contre je pense qu'il va y avoir un pb car quand je fais alt f11, je m'aperçois que les données sont "prises" par la macro de la ligne 1 à la ligne 39962 alors que je voudrais que la macro prenne les données de toutes les cases non vides puisque chaque jours le nombres de lignes est différent...Désolé pour mon langage qui ne doit pas trop être "pro excel", cela reflète le "bidouilleur excel de base" :-)
    En espérant tt de même assez clair dans mes explications...
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    regarde ça, tu n'aura plus de problème!
    http://www.developpez.net/forums/d14...e/#post7916923

  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,

    Je ne l'ai pas testé, mais ça devrait le faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Set Sh = Sheets.Add
        Sh.Name = Format(Date, "dd-mm-yy")
        Sh.Tab.Color = 255
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "0309!R1C1:R39962C11", Version:=xlPivotTableVersion10).CreatePivotTable _
            TableDestination:=Sh.Name & "!R3C1", TableName:="Tableau croisé dynamique1", _
            DefaultVersion:=xlPivotTableVersion10
    Un conseil : évite autant que possible la méthode "Select". Ca ralentit inutilement l'exécution
    Cordialement.

    Daniel

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

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien agent de maitrise
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Technicien agent de maitrise
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bonjour Daniel,

    tout d'abord merci pour ton code.
    Cela fonctionne bien, c'est a dire qu'il me crée bien une feuille renommée à la date du jour avec onglet rouge mais le TCD ne se crée pas, et je ne comprends pas pourquoi. Je pense aussi qu'il y aura un pb au prochain car je ne veux pas que le TDC soit remis à jour quotidiennement mais chaque jour une base de donnée sur une feuille différente sur laquelle j'aurai ma macro qui me créera par clic sur le bouton un autre TCD renommé à la date du jour en rouge , et ainsi de suite.
    peux tu regarder et me dire ou se situe le problème stp, car grand débutant en terme de VBA, j'avoues que j'ai beaucoup de mal à comprendre...
    Merci d'avance
    ci joint le nouveau fichier avec ton code inserré
    Fichiers attachés Fichiers attachés

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    as tu regardé le lien que je test donné!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim ShName as string
    ShName=Format(Date, "dd-mm-yy")
    Dim TDC As New clsTdcRD
    TDC.CreerTableau ActiveWorkbook, "Data!" & Sheets("Data").UsedRange.Address, ShName, "Data"
    'Suite du code de création de TDC
    sheets(ShName).Tab.Color = 255

  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,

    Je pense aussi qu'il y aura un pb au prochain car je ne veux pas que le TDC soit remis à jour quotidiennement mais chaque jour une base de donnée sur une feuille différente sur laquelle j'aurai ma macro qui me créera par clic sur le bouton un autre TCD renommé à la date du jour en rouge , et ainsi de suite.
    J'ai du mal à comprendre... Est-ce que tu peux expliciter ton besoin ? Tu veux une base de données sur une feuille différente chaque jour ?
    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
    Homme Profil pro
    Technicien agent de maitrise
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Technicien agent de maitrise
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    rdurupt,

    oui j'ai regardé ton lien mais j'avoues n'avoir rien compris, c'est pourtant pour débutant comme mentionné dans le message mais, à croire que je suis plus nul qu'un débutant... J'ai demandé une formation VBA au taf mais ca ne sera pas avant... un bon bout de temps...

    Daniel,

    oui c'est exactement ce que je veux, lorsque j'ouvre mon doc Excel, une fenêtre s'ouvre en demandant si je veux crée une nouvelle feuille (ça je l'ai piqué sur un autre fichier que j'utilise déjà, ce n'est pas moi qui l'ais créer car j'en serais incapable), si oui, une nouvelle feuille s'ouvre sur laquelle je colle des données d'un logiciel d'une installation automatisée, puis je veux pouvoir cliquer sur le bouton de ma macro qui est aussi copié sur la feuille pour que ça me crée un TCD sur une feuille différente par jour.

  8. #8
    Invité
    Invité(e)
    Par défaut
    le module de classe est une boîte à outils contenant tous ce don tu as besoin pour créer un TDC!
    j'explique comment l'intégrer dans ton projet; après tu n'as pas à y toucher.

    reprend les instruction une à une du sub test et regarde comment ton fichier réagit!

    tu te familiarisera avec sont utilisation; tu as le droits à l'erreur et de recommencer! je suis disposé a te coaché! il n'y a pas grand chose à comprendre juste une suite chronologique à appliquer!

    fais une recherche sur le forum avec le mot ClsTdcRD et tu verras que les avis sont unanime!

    A+

Discussions similaires

  1. [XL-2007] Macro pour Impression conditionnelle sur une autre feuille
    Par titi08 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/02/2015, 16h49
  2. [XL-2003] Macro pour TCD avec base evolutive
    Par jeandani2012 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/07/2012, 11h23
  3. Macro pour se déplacer sur une feuille excel
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/03/2010, 20h41
  4. Macro pour ouvrir un fichier excel avec des ','
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 30/05/2007, 18h08
  5. [débutant]petit problème sur formulaire avec onglets
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 06/01/2006, 10h46

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