Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2011, 09h13   #1
Membre confirmé
 
Avatar de PAYASS59
 
Homme
Inscription : février 2005
Messages : 735
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2005
Messages : 735
Points : 291
Points : 291
Par défaut éclatement d'une cellule en plusieurs lignes

Bonjour, je vais exposer mon problème.
Pour information je suis très loin de maitriser excel.


colonne A / colonne B / colonne C
titi / 2 / 1;2;3;4;5
titi / 4 / 6;7


Comment éclater tout ça pour qu'il me crée dans une autre feuille

titi /2/1
titi /2/2
titi /2/3
titi /2/4
titi /2/5
titi /4/6
titi /4/7
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir....
PAYASS59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 14h00   #2
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Bonjour,

teste le fichier ci-joint...

Voici la macro utilisée :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub test()
 
Sheets("Feuil2").Range("A:C").Clear
 
NbRow = Range("A65536").End(xlUp).Row
 
For i = 1 To NbRow
    Sheets("Feuil1").Cells(i, 3).Replace What:=";", Replacement:="", LookAt:=xlPart
    j = Len(Cells(i, 3).Value)
    m = Sheets("Feuil2").Range("A65536").End(xlUp).Row
    For k = 1 To j
    Sheets("Feuil2").Cells(m + i + k - 2, 1).Value = Sheets("Feuil1").Cells(i, 1).Value
    Sheets("Feuil2").Cells(m + i + k - 2, 2).Value = Sheets("Feuil1").Cells(i, 2).Value
    Sheets("Feuil2").Cells(m + i + k - 2, 3).Value = Mid(Sheets("Feuil1").Cells(i, 3).Value, k, 1)
    Next
Next
 
Sheets("Feuil2").Select
 
End Sub
Tiens moi au courant !

Cordialement
Fichiers attachés
Type de fichier : zip Test manipulation string.zip (11,0 Ko, 3 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 15h12   #3
Membre confirmé
 
Avatar de PAYASS59
 
Homme
Inscription : février 2005
Messages : 735
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2005
Messages : 735
Points : 291
Points : 291
merci je vais jouer mon chiant ;-)

mais comment je peux adapter avec ça :

code_ent/code_ens/métier/jour_sem/plage_hor/eff_qua/ eff_sec
7011 4000 METIER1 1;2;3;4;5 matin 4 2
7011 4000 METIER2 1;2;3;4;5 après-midi 2 2
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir....
PAYASS59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2011, 18h28   #4
Membre confirmé
 
Homme Denis Morena
Technicien qualité et métrologie industrielle
Inscription : avril 2011
Messages : 115
Détails du profil
Informations personnelles :
Nom : Homme Denis Morena
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Technicien qualité et métrologie industrielle
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 115
Points : 221
Points : 221
Nan tkt pas d'problèmes

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub test()
 
Sheets("Feuil2").Rows("2:50").Clear
 
NbRow = Range("A65536").End(xlUp).Row
 
For i = 2 To NbRow
    Sheets("Feuil1").Cells(i, 4).Replace What:=";", Replacement:="", LookAt:=xlPart
    j = Len(Cells(i, 4).Value)
    m = Sheets("Feuil2").Range("A65536").End(xlUp).Row
    For k = 1 To j
    Sheets("Feuil2").Cells(m + k, 1).Value = Sheets("Feuil1").Cells(i, 1).Value
    Sheets("Feuil2").Cells(m + k, 2).Value = Sheets("Feuil1").Cells(i, 2).Value
    Sheets("Feuil2").Cells(m + k, 3).Value = Sheets("Feuil1").Cells(i, 3).Value
    Sheets("Feuil2").Cells(m + k, 4).Value = Mid(Sheets("Feuil1").Cells(i, 4).Value, k, 1)
    Sheets("Feuil2").Cells(m + k, 5).Value = Sheets("Feuil1").Cells(i, 5).Value
    Sheets("Feuil2").Cells(m + k, 6).Value = Sheets("Feuil1").Cells(i, 6).Value
    Sheets("Feuil2").Cells(m + k, 7).Value = Sheets("Feuil1").Cells(i, 7).Value
    Next
Next
 
Sheets("Feuil2").Select
 
End Sub
Voir fichier joint !

Cordialement
Fichiers attachés
Type de fichier : zip Test manipulation string (2).zip (11,9 Ko, 2 affichages)
White Mibu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 09h33   #5
Membre confirmé
 
Avatar de PAYASS59
 
Homme
Inscription : février 2005
Messages : 735
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : février 2005
Messages : 735
Points : 291
Points : 291
super merci pour ton aide, je fais des tests dans la semaine.
__________________
Je préfère ma soif d'apprendre, à leurs certitudes de savoir....
PAYASS59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h04.


 
 
 
 
Partenaires

Hébergement Web