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 :

Extraire les noms apparaissant dans un tableau de données [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Par défaut Extraire les noms apparaissant dans un tableau de données
    Bonjour,

    J'ai un tableau de données qui se remplit par un userform.
    La colonne 1 contient des noms. Ces noms peuvent apparaître plusieurs fois dans le tableau.

    Je souhaite extraire tous les noms différents qui apparaîtront dans le tableau et les mettre dans d'autres cellules que je choisirais.

    Comment puis-je faire?

    Je me doute déjà que je dois faire une boucle for pour étudier tout le tableau. Mais ensuite?

    Merci.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Et avec TCD?

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Un exemple de code qui fait ce que tu souhaites

    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
     
    Dim i As Long 'ligne source
    Dim j As Long 'ligne destination
     
    i = 2
    j = 2
     
    Do While Range("L" & i).Value <> ""
     
        If Application.WorksheetFunction.CountIf(Range("Q:Q"), Range("L" & i).Value) = 0 Then
            Range("Q" & j).Value = Range("L" & i).Value
            j = j + 1
        End If
     
     
        i = i + 1
    Loop
    EDIT :
    Colonne L => Source
    Colonne Q => Destination

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour JessieCoutas mercatog re jfontaine le forum comme je comprends!!
    extraire les noms sans doublons l'exemple copy les noms de la sheets1 vers la sheets 2 a adapter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Sub test()
     Dim c As Variant, M As Object
    Application.ScreenUpdating = False
    Set M = CreateObject("Scripting.Dictionary")
    With Sheets(1)
    For Each c In .Range("A1", .[a65000].End(xlUp))
    M(c.Value) = IIf(M.exists(c.Value), M(c.Value) + 1, 1)
    Next c
    Sheets(2).[a1].Resize(M.Count, 1) = Application.Transpose(M.keys)
    End With
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Par défaut N'enlève pas les doublons
    Bonjour,

    Merci pour vos réponses.
    J'ai essayé ton code Laetitia et ça n'enlève pas les doublons. Que dois-je écrire pour que ça les enlève?

    Par ailleurs, j'aimerai que chaque nom de la liste soit collé dans Sheets(2) mais toutes les 3 lignes.

    Peux-tu m'aider s'il te plait?

    Merci beaucoup.
    Bonne journée.

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    Pour ce qui est des doublons regarde ce petit tutoriel
    http://silkyroad.developpez.com/excel/doublons/

    Je te conseil d'essayer de t'en inspirer pour réaliser une collection contenant les noms
    (cf : IV-A. Créer une liste sans doublons)

    Tu t'inspires de ce code et au lieu d'afficher la liste avec
    tu met quelque chose qui ressemble à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(2).range("A" & 3*i) Un.Item(i)
    Essaye de faire le code, teste le et si ca ne fonctionne pas montre nous ce que tu as fait et explique ce qui ne va pas

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 87
    Par défaut
    Bonjour,

    J'ai lu le tutoriel et essayé de l'appliquer, mais je débute et ne comprends pas tout...

    Dans un premier temps , je ne sais pas comment l'appliquer pour qu'il balaye ma colonne A car la plage, je ne la connais pas.

    Ensuite, il ne comprend pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(2).range("A" & 3*i) Un.Item(i)
    .

    Désolée, je ne suis pas très douée...
    N'est-il pas possible de repartir du code de Laetitia et de faire en sorte qu'il n'y ait pas de doublons et que le résultat s'affiche toutes les 3 lignes?

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/05/2009, 20h09
  2. Extraire les images contenues dans un fichier word
    Par elreybubu dans le forum Delphi
    Réponses: 2
    Dernier message: 25/10/2006, 13h07
  3. Réponses: 1
    Dernier message: 01/05/2006, 11h17
  4. Réponses: 15
    Dernier message: 02/12/2005, 17h12
  5. Éliminer les lignes blanches dans un tableau
    Par DenPro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2004, 01h27

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