Excel: creer un scenario - dupliquer lignes
llisinoz
-
titounette -
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
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:
- Excel: creer un scenario - dupliquer lignes
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
6 réponses
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!!!!!
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!!!!!
lisinoz
Merci beaucoup pour ta reponse, je vais tester ca !
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
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
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.
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.
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
:(
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
:(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question