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 :

recuperer plusieurs valeurs dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut recuperer plusieurs valeurs dans une cellule
    Bonjour a tous et a toutes,

    j'apprecierais vos idées et suggestions sur ce qui suit svp :

    J'ai un tableur excel qui contient 2 colonnes (USAGER / TRANSIT)
    USAGER contient une seule valeur tel que z23232 mais TRANSIT peut contenir 1 ou plusieurs valeurs de ce type : re11111,re34345,ca43456, etc... Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    USAGER   |  TRANSIT
    z12547    |   re11111,re45456,cr45r45
    z23123    |   re45674
    z09890    |   re4e434,tr65678,01aswe4
    L'objectif est de pouvoir lire chaque valeur séparemment dans chacune des cellules TRANSIT et d'afficher pour chaque USAGER tous ces TRANSITS sur plusieurs lignes pour avoir cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    USAGER   |  TRANSIT
    z12547    |   re11111
    z12547    |   re45456
    z12547    |   cr45r45
    z23123    |   re45674
    z09890    |   re4e434
    z09890    |   tr65678
    z09890    |   01aswe4
    Ce que je pense faire est de récupérer chacune des valeur de TRANSIT pour chaque USAGER dans une nouvelle feuille et ainsi je seais en mesure a partir de ma feuille d'origine de créer mes conditions pour le reste de mon projet.

    Pensez vous que c'est une bonne idée ainsi, et si oui, pouvez vous m'aidez ou me guider a realiser ce bout de code pour récupérer séparemment mes Transits car je n'arrive pas a faire la recupération lorsqu'il y a plusieurs valeurs dans une cellule.

    Je vous remercie d'avance de votre aide.

  2. #2
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour

    Voici une macro

    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
    Sub recopie()
    Dim ligne As Long
    Dim tablo As Variant
    Dim i As Integer
    ligne = 1
    While ligne <= Range("A65536").End(xlUp).Row
        ligne = ligne + 1
        If InStr(Cells(ligne, 2), ",") > 0 Then
            tablo = Split(Cells(ligne, 2), ",")
            For i = 0 To UBound(tablo) - 1
                Range("A" & ligne + 1).EntireRow.Insert
            Next i
            For i = 0 To UBound(tablo)
                 Cells(ligne + i, 2) = tablo(i)
                 Cells(ligne + i, 1) = Cells(ligne, 1)
            Next i
        End If
    Wend
    End Sub
    à tester

    Bonne soirée
    Wilfried

  3. #3
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut
    WOW. Magnifique wilfried_42. C'est exactement ce que je voulais. Je te remercie enormement pour cet macro.

    Ce qui me reste a faire maintenant est de tenir compte des autres caracteres de separation tel que /, et, -, etc...

    Aussi, je me dois de stocker la recuperation sur un autre feuille car cet macro ecrase ce que j'ai dans ma feuille. Je mettrai une version modifier de cet macro avec me besoins pour ce qui a interesse.

    Merci encore wilfried_42

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Bonsoir
    voici une variante parmis d'autres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Test1()
    Dim Vl As Variant
    Dim i As Integer, x As Integer, y As Integer
    i = 2: x = 1
     Do Until IsEmpty(Feuil1.Cells(i, 1)) '// boucler sur la plage de données de la feuille 1
       Vl = Split(Feuil1.Cells(i, 2), ",") ' récupérer l'information dans un tableau
            For y = 0 To UBound(Vl)
                Feuil2.Range("A" & x) = Feuil1.Cells(i, 1) '// copie les données vers le feuille 2
              Feuil2.Range("B" & x) = Vl(y) '// " " "
             x = x + 1
         Next
     i = i + 1
     Loop
    End Sub
    Bonne soirée

    Abed_H

  5. #5
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Points : 111
    Points
    111
    Par défaut
    Merci Beaucoup Abed. Ca marches a merveille aussi et je peux recopier dans une nouvelle feuille.

    Merci beaucoup

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

Discussions similaires

  1. Chosir entre plusieurs valeurs dans une cellule
    Par Yvan77 dans le forum Excel
    Réponses: 4
    Dernier message: 17/09/2011, 00h02
  2. Recherchev mettant plusieurs valeur dans une cellule
    Par michaeldms dans le forum Excel
    Réponses: 5
    Dernier message: 06/09/2011, 10h32
  3. [AJAX] recuperer plusieurs valeurs dans une fonction
    Par tortue_22 dans le forum AJAX
    Réponses: 4
    Dernier message: 17/05/2009, 13h48
  4. mettre plusieurs valeurs dans une cellule
    Par mgrizzly dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 15/05/2009, 10h42
  5. Code pour insérer plusieurs valeurs dans une cellule
    Par azerty1956 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/03/2009, 13h09

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