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 :

Concatener plusieurs tableaux en fonction référence identique [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 52
    Par défaut Concatener plusieurs tableaux en fonction référence identique
    Bonsoir messieurs et mesdames

    Je rencontre actuellement un "léger" problème. Tout petit. Enfin pas pour moi, malgré les recherches sur internet et quelques tentatives de code infructueuses.

    Alors, pour exposer plus clairement le problème:
    J'ai un classeur sur lequel est recopié x fois un tableau (le x varie de 1 à l'infini si on peut dire). Le modèle du tableau est toujours le même (même nombre de lignes et colonnes) avec pour première cellule la référence.
    Ce que je cherche à faire, c'est de concatener les données de chaque cellule avec les cellules correspondantes pour tous les tableaux ayant la même valeur dans la cellule dite de référence (qui contient en fait une année).

    Grossièrement, petit schéma: (4 tableau - 2 lignes - 3 colonnes ; 1ère ligne = référence)
    tableau 1 tableau2 tableau 3 tableau 4
    0 0 0 1
    a - t -e d - b - c z -e - r y - p -m

    donnerait une fois concaténés:
    tableau créé tableau 4
    0 1
    adz - tbe - ecr y - p -m


    Le problème ne vient pas de la concaténation (la formule sous excel fonctionne très bien) mais de ces points:
    - comment faire pour que la concaténation se fasse qu'il y ait deux tableaux ou 60 (il n'y a pas de limites de nombre de tableaux, tout dépend des utilisateurs) (j'ai tenté avec offset mais cette fonction reste encore obscure)
    - il faudrait que la concaténation ne s'effectue que si l'utilisateur le demande et pour l'année qu'il souhaite (année = cellule de référence) ; exemple: je demande à voir les valeurs pour les tableaux ayant pour référence "2014" (n'afficherait que la concaténation des tableaux ayant la référence 2014 uniquement)

    Si vous voulez plus de précision, je peux éventuellement vous fournir le fichier de travail.

    Merci beaucoup à vous tous pour votre future aide.

    PS: les références identiques se suivent (les cellules ne sont jointives mais séparées par 14 cellules vides), c'est à dire que les références ne sont pas mélangées - pareil, au maximum 12 tableaux avec la même référence peuvent se suivre (les 12 mois de l'année... c'tout)

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien bureau d'études
    Inscrit en
    Novembre 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien bureau d'études

    Informations forums :
    Inscription : Novembre 2015
    Messages : 118
    Par défaut
    Bonjour Grogus.

    Peux-tu joindre un fichier pour soutenir ta demande ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 52
    Par défaut
    roulementstest.xlsm

    voici le fichier (ce qui sera peut être plus simple à comprendre.... mais pas certain)

    merci par avance

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technicien bureau d'études
    Inscrit en
    Novembre 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien bureau d'études

    Informations forums :
    Inscription : Novembre 2015
    Messages : 118
    Par défaut
    Pour éviter de répondre à côté de la plaque.
    Tu souhaites pouvoir choisir le mois de début et le mois de fin.
    Et ensuite obtenir un tableau avec les valeurs concaténées ?
    Chaque mois disposera du même nombre de colonnes ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 52
    Par défaut
    En fait les tableaux avec les données (tableaux ajoutés) ont tous le même format (même nombre de colonnes et lignes).
    Il faudrait en effet concaténer les données des tableaux ayant tous la même année MAIS uniquement pour l'année choisie par l'utilisateur .

    Donc il faut juste que l'utilisateur choisisse l'année et en sortirait un tableau récapitulatif de même format qu'un tableau ajouté mais avec les valeurs concaténées des t"ableaux ajoutés " de l'année demandee (on se fiche des mois ici))

  6. #6
    Membre éprouvé
    Homme Profil pro
    Technicien bureau d'études
    Inscrit en
    Novembre 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien bureau d'études

    Informations forums :
    Inscription : Novembre 2015
    Messages : 118
    Par défaut
    Je peux te proposer ça pour le moment :

    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
    Option Explicit
    Sub concat()
    Dim t(4, 15)
    Dim n As Long, an As Long
    Dim dbt As String, fin As String
    Dim i As Variant, j As Variant, c As Variant, m As Variant
     
    an = [d17]
    n = WorksheetFunction.CountIf(Rows(2), an)
    c = WorksheetFunction.Match(an, Rows(2), 0)
    [d18] = Cells(3, c).Value
    [e18] = Cells(3, c).Offset(, (n - 1) * 16).Value
     
    For m = 0 To n - 1
        For i = 0 To 4
            For j = 0 To 15
                t(i, j) = t(i, j) & Cells(5 + i, c + j).Offset(0, m * 16).Value
            Next j
        Next i
    Next m
     
    [d20].Resize(5, 16).Value = t
     
    End Sub
    En gros je cherche la première valeur du mois recherché, le nombre de fois où elle apparaît.
    Ensuite je boucle un tableau et je le retranscris.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/12/2015, 13h25
  2. probleme avec fonction concatenation de tableaux
    Par Septembre84 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 17/04/2008, 15h27
  3. Réponses: 1
    Dernier message: 16/03/2007, 18h30
  4. Réponses: 6
    Dernier message: 10/01/2007, 14h16

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