Excel: creer un scenario - dupliquer lignes

llisinoz -  
 titounette -
Bonjour,

J'essaye d'exploiter un fichier excel pour calculer des statistiques pour mon boulot. J'ai en effet pu exporter des champs depuis une base de donnée Textworks vers un fichier excel. Mon probleme est que certains champs comportent plusieurs valeurs et que ces valeurs sont séparées par un séparateur. Par exemple une cellule pourra comporter trois valeurs: "A/B/C".
Pour pouvoir analyser ces données j'aurai besoin de trouver un moyen d'automatiquement séparer ces valeurs. Par exemple de trouver une formule qui dise: Si il y a plusieurs valeurs dans une cellule => créer une nouvelle ligne identique pour chaque nouvelle valeur (A, B et C) et y incrémenter automatiquement chacune des valeurs.
Donc au lieu d'une ligne avec une cellule "A/B/C", j'aurai trois lignes, une avec une cellule "A", une avec une cellule "B" et une avec une cellule "C"

Quelqu'un sait-il si il est possible de faire ça?

J'ai déjà dans le passé réussi à construire des scénarios de calculs un peu élaborés, mais rien de ce genre.

Merci de m'avoir lue !

Johanna
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    Essaye ça, ça fonctionne chez moi:

    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 16/05/2008 par LatelyGeek
    '

    '
    Range("A1").Select
    While ActiveCell.Value <> ""
    Codes = ActiveCell.Value
    If Codes Like "*/*" Then
    Position = 1
    While Mid(Codes, Position, 1) <> ""
    ActiveCell.Rows("1:1").EntireRow.Select
    Selection.Copy
    ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
    Selection.Insert Shift:=xlDown
    ActiveCell.Offset(-1, 0).Select
    ActiveCell.FormulaR1C1 = Mid(Codes, Position, 1)
    Position = Position + 2
    ActiveCell.Offset(1, 0).Select
    Wend
    ActiveCell.EntireRow.Delete
    Else
    ActiveCell.Offset(1, 0).Select
    End If
    Wend

    End Sub

    PS: Un scénario dans Excel, c'est pas ça du tout. Attention aux formulations, on risque de passer à côté d'un coup de main de quelqu'un qui maîtrise VB mais pas les scénarios!!!!!
    0
    1. lisinoz
       
      Merci beaucoup pour ta reponse, je vais tester ca !
      0
  2. titounette
     
    bonjour
    mais g un ti soucis au niveau de la duplication de ligne je m'explique:

    je doit importer des saisies d'un classeur à un autre; pour faire l'importation de cellule à cellule ca marche tres bien sauf il suffis d'appliquer la formule suivant ='[nomduclasseur]nomdelafeuille'!$nomdelacolonne$numérodeligne
    sauf que g un tab de 3000 lignes et 13 colonnes et je ne me sent po de taper la formule 3000*13 fois.

    alors si quelqu'un peu m'aider j'en serai tres reconnaissante.

    Merci beaucoup d'avance
    0
  3. el matador
     
    bonjour,

    et si tu te sert de l'incrementation, le petit carre au coin droit de ta cellule sa recopiera ta formule dans toutes les cellules.
    0
  4. titounette
     
    merci pour ton aide rapide el metador
    mais malheureusement ca ne marche pas non plus car j'utilise deux classeurs à la fois et du coup qd j'utilise le petit carré ca me recopie ce qui est marqué sur la cellule du depart
    :(
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    Supprime les $ dans les adresses de cellules !!!
    0
  7. titounette
     
    merci beaucou tu me sauves la vie :D
    0