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 présentation d'un tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Par défaut Problème de présentation d'un tableau
    Bonjour,

    Je reçois tous les mois un tableau de plusieurs lignes qui, dans la façon dont il se présente, n'est pas très exploitable.
    Dans mon onglet "Départ", j'ai gardé sa structure à l'ouverture en ne gardant que quelques lignes et les 9 derniers mois. En théorie j'ai plus de 100 comptes et la période va de 07/2007 à aujourd'hui...
    Dans l'onglet "Arrivée", ce à quoi j'aimerai arriver via une macro, car étant nul en VBA, je suis incapable de faire une boucle qui me donne le résultat voulu. En manuel je pourrais faire du copier / coller transposé mais c'est l'horreur !
    Je suis conscient que je n'ai aucune base de départ à vous donner, même pas un petit bout de code, ce qui est contraire à la façon habituelle de demander de l'aide, mais si quelqu'un a la solution miracle, sans lui faire perdre trop de temps, je lui serai très reconnaissant.
    Merci !

    Runsh

  2. #2
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    as tu regardé ce que donnait le rapport de tableau croisé dynamique?
    tu trouveras cet outil dans données --> rapport de tableau croisé dynamique
    tu sélectionnes la plage, tu demande de mettre le tableau sur une autre feuille et tu n'as plus qu'a te servir de l'assistant pour mettre en forme ce qu tu veux afficher
    (c'est un outil intégré d' Excel des plus puissant)

  3. #3
    Membre éclairé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Par défaut
    Il me semble connaître un peu les TCD, mais là je ne vois pas comment lui faire mettre mes dates en lignes l'une dernière l'autre. Soit, je vais essayer. Si ça me fournit la réponse voulue, alors merci !
    Bonne journée !

    Runsh

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    La présentation de ton tableau de départ ne permet effectivement pas les TCD. De plus, tu souhaites une transposition et non une consolidation de données.

    Voici un code commenté qui devrait permettre cela:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Sub Consolidation()
      Dim shSource As Worksheet
      Dim shCible As Worksheet
      Dim celSource As Range
      Dim celCible As Range
      Dim NombreColonnes As Long
      Dim Colonne As Long
     
      ' Initialisation des feuilles
      Set shSource = Worksheets("Départ")
      Set shCible = Worksheets("Arrivée")
     
      'Vidange de la feuille cible (on considère que les entêtes existent en ligne 1)
      shCible.Range(shCible.Cells(2, 1), shCible.Cells(shCible.Rows.Count, shCible.Columns.Count)).Delete
     
      ' On détermine la dernière colonne du tableau cible
      NombreColonnes = shSource.Cells(1, shSource.Columns.Count).End(xlToLeft).Column
     
      ' On initialise la cellule d'arrivée
      Set celCible = shCible.Range("a2")
     
      ' On boucle sur les lignes source...
      For Each celSource In shSource.Range("a3:a" & shSource.Cells(shSource.Rows.Count, 1).End(xlUp).Row)
        ' ... en bouclant sur les colonnes à partir de la troisième, jusqu'à la dernière, par pas de 2
        For Colonne = 3 To NombreColonnes - 1 Step 2
     
          ' Copie des valeurs fixes
          celCible(1, 1).Value = celSource(1, 1).Value
          celCible(1, 2).Value = celSource(1, 2).Value
     
          ' Copie des valeurs de par période en reprenant la période en ligne 2
          celCible(1, 3).Value = shSource.Cells(2, Colonne)
          celCible(1, 4).Value = celSource(1, Colonne)
          celCible(1, 5).Value = celSource(1, Colonne + 1)
     
          ' On décale la cible d'une ligne vers le bas
          Set celCible = celCible(2)
        Next Colonne
      Next celSource
    End Sub
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre éclairé Avatar de Runsh63
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2011
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 476
    Par défaut
    Après avoir hiberné tout le mois durant, je me réveille enfin et m'apperçois que la solution à mon problème est là... Désolé pour le temps de réaction et merci pour votre réponse, ça fonctionne et c'est exactement ce que je cherchais à faire !
    Vous souhaitant une bonne fin de journée.

    Cordialement,

    Runsh

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

Discussions similaires

  1. Problème de présentation des données sous forme d'un tableau HTML
    Par LaurentDRE dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 05/08/2008, 21h49
  2. Présentation d'un tableau de score
    Par le Daoud dans le forum Composants
    Réponses: 3
    Dernier message: 22/07/2005, 19h45
  3. Problème d'écriture dans un tableau
    Par Hokagge dans le forum MFC
    Réponses: 46
    Dernier message: 08/07/2005, 16h47
  4. Problème de montage d'un tableau en HTML...
    Par David.V dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/02/2005, 08h38
  5. Réponses: 25
    Dernier message: 16/07/2003, 20h41

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