Excel: creer un scenario - dupliquer lignes

Fermé
llisinoz - 16 mai 2008 à 16:22
 titounette - 26 juin 2008 à 14:55
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
A voir également:

6 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
16 mai 2008 à 17:16
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
Merci beaucoup pour ta reponse, je vais tester ca !
0
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
26 juin 2008 à 14:51
Supprime les $ dans les adresses de cellules !!!
0
merci beaucou tu me sauves la vie :D
0