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

Excel Discussion :

Recomposer un tableau à partir de 2 tableaux tout en élimant les doublons possibles


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Recomposer un tableau à partir de 2 tableaux tout en élimant les doublons possibles
    Bonjour

    Je joins un exemple pour que mon problème soit mieux compréhensible

    Au départ j'ai 2 tableaux ayant chacun 2 colonnes (le type de contenu est le même dans les 2 tableaux. Dans mon exemple la colonne 1 c'est des prénoms et la colonne 2 c'est des dates)

    Ce que je souhaite obtenir c'est un tableau composé :

    • d'une seule colonne "prénoms" et d'une seule colonne "dates"
    • la colonne "prénoms" contiendra autant de lignes qu'il y a de cas différents dans les tableaux initiaux
    • la colonne "dates" ne contiendra pas de doublons


    Par avance je remercie tous ce qui se pencherons sur ce qui est pour moi un casse tête.

    Diego
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    essayes ce code, construit à partir de ton fichier exemple
    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
    'penser à activer la référence 'Microsoft Scripting Runtime
    Sub colF()
    Dim Dercel As Range, d
    Dim tbl1, tbl2, tbl3, x As Integer
    Set tbl3 = CreateObject("Scripting.dictionary")
    Set Dercel = Range("B" & Rows.Count).End(xlUp)
    tbl1 = Range("A3", Dercel)
    Set Dercel = Range("E" & Rows.Count).End(xlUp)
    tbl2 = Range("D3", Dercel)
    For x = 1 To UBound(tbl1, 1)
      With tbl3
        If Not .Exists(tbl1(x, 1) & "|" & tbl1(x, 2)) Then
          .Add tbl1(x, 1) & "|" & tbl1(x, 2), tbl1(x, 1) & "|" & tbl1(x, 2)
        End If
      End With
    Next x
    For x = 1 To UBound(tbl2, 1)
      With tbl3
        If Not .Exists(tbl2(x, 1) & "|" & tbl2(x, 2)) Then
          .Add tbl2(x, 1) & "|" & tbl2(x, 2), tbl2(x, 1) & "|" & tbl2(x, 2)
        End If
      End With
    Next x
    x = 3
    Set Dercel = Range("H" & Rows.Count).End(xlUp)(2, 1)
    Range("G3", Dercel).ClearContents
    For Each d In tbl3.items
      Range("G" & x) = Split(d, "|")(0)
      Range("H" & x) = CDate(Split(d, "|")(1))
        x = x + 1
    Next d
    End Sub

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 520
    Points : 16 455
    Points
    16 455
    Par défaut
    Bonjour

    Question : cela doit être une solution one shot (ne resservira plus) ou permanente ?

    Les solutions peuvent être très différentes donc bien poser le problème est essentiel.

    Edit : Sorry Dominique, pas rafraichi...

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Sorry Dominique, pas rafraichi...
    Bonjour chris,

    Pas de problème, d'autant que tu as raison

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour

    Question : cela doit être une solution one shot (ne resservira plus) ou permanente ?

    Les solutions peuvent être très différentes donc bien poser le problème est essentiel.

    Edit : Sorry Dominique, pas rafraichi...
    Bonjour,

    En effet je précise cela devrait être une solution permanente.
    Elle doit être applicable à des tableaux contenant plus de données (plus de prénoms, plus de dates)

    Merci

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    et as-tu essayé ma propositon ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par casefayere Voir le message
    et as-tu essayé ma propositon ?
    Bonjour,

    Je suis en train d'essayer mais là j'ai un mac. Ce me pose des problèmes de compatibilité je crois.

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je ne pourrai pas te dire, essayes ce fichier

  9. #9
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 520
    Points : 16 455
    Points
    16 455
    Par défaut
    Bonjour

    Citation Envoyé par diego007 Voir le message
    Bonjour,

    Je suis en train d'essayer mais là j'ai un mac. Ce me pose des problèmes de compatibilité je crois.
    Pour la version, il est toujours bien de la préciser en en-tête de message car cela joue aussi pour les solutions.

    Si tu 2004, pas de VBA sinon avec 2011 pas de souci en général.

    Cela est aussi réalisable par une requête MSQuery mais je ne sais pas si ça existe sur MAC.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour



    Pour la version, il est toujours bien de la préciser en en-tête de message car cela joue aussi pour les solutions.

    Si tu 2004, pas de VBA sinon avec 2011 pas de souci en général.

    Cela est aussi réalisable par une requête MSQuery mais je ne sais pas si ça existe sur MAC.
    OK

    Faudrait que ca tourne sur excel PC (là j'ai un mac car je suis chez moi pour cause de congés)

    Je ne connais pas MSQuery mais étant curieux je vais me renseigner

    Merci

  11. #11
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par casefayere Voir le message
    Je ne pourrai pas te dire, essayes ce fichier
    Re salut,

    Je viens d'essayer sur un PC avec excel 2010 : Ca marche !

    Par contre je remarque que l'ordre des prénoms a changé dans le tableau 1 mais aussi dans le tableau final. C'est normal?

    Merci à toi

  12. #12
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Par contre je remarque que l'ordre des prénoms a changé dans le tableau 1 mais aussi dans le tableau final. C'est normal?
    Refais tes propres listes et essayes car j'ai peut-être changé l'ordre pour certaines vérifications

  13. #13
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 520
    Points : 16 455
    Points
    16 455
    Par défaut
    Re,

    Citation Envoyé par diego007 Voir le message
    ...
    Je ne connais pas MSQuery mais étant curieux je vais me renseigner...
    C'est intégré à Office et donc Excel sur PC.

    C'est un requêteur voir un exemple ici http://www.excel-formations.fr/Trucs...2.php#COMPLEXE (mais il doit y avoir un didacticiel quelque part sur le site developpez.net)

    La requête dans ton cas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `E:\chemin\Nomclasseur.xlsx`.`TA$` `TA$` union SELECT * FROM `E:\chemin\Nomclasseur.xlsx`.`TB$` `TB$`
    chemin et nom de fichier et onglets (ici Ta et TB à adapter).

    Il est plus simple d'avoir les tableaux sur des onglets séparés sinon il faut les nommer et compliquer un peu la requête. Enlever la ligne de titre fusionnée. Une seule ligne de titre pour les données.
    Fichiers attachés Fichiers attachés

  14. #14
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2014
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Chris et Dom


    Par 2 moyens différents vous avez trouvé.

    Je n'ai que l'embarras du choix maintenant

    Je vais creusé vos 2 solutions et outils



    Merci beaucoup !

    Bonne continuation

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

Discussions similaires

  1. Faire un tableau à partir de 2 tableaux
    Par identifiant_bidon dans le forum Langage
    Réponses: 3
    Dernier message: 09/09/2011, 22h27
  2. Réponses: 6
    Dernier message: 25/04/2008, 12h44
  3. Réponses: 4
    Dernier message: 11/02/2008, 14h32
  4. Réponses: 2
    Dernier message: 12/05/2006, 08h35
  5. Réponses: 54
    Dernier message: 16/03/2006, 11h42

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