Comment structurer fichier excel
Résolu
B95190
Messages postés
119
Date d'inscription
Statut
Membre
Dernière intervention
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un fichier excel contenant des données sur mes clients et je souhaite structurer ces données.
Actuellement mon fichier à la forme suivante :
"Durand","jacques","0505334422","PARIS"
et je voudrais creer un tableau excel avec le nom, le prénom,le numéro et la ville de chaque client.
Est il possible de faire cela et comment le faire en evitant d'avoir a copier manuellement chaque information puisque j'ai plus de 500 clients 0_u ??
Merci a tous
j'ai un fichier excel contenant des données sur mes clients et je souhaite structurer ces données.
Actuellement mon fichier à la forme suivante :
"Durand","jacques","0505334422","PARIS"
et je voudrais creer un tableau excel avec le nom, le prénom,le numéro et la ville de chaque client.
Est il possible de faire cela et comment le faire en evitant d'avoir a copier manuellement chaque information puisque j'ai plus de 500 clients 0_u ??
Merci a tous
A voir également:
- Comment structurer fichier excel
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
Bonjour
on peut y arriver par formule si le fichier est évolutif!mais avant de compliquer(c'est assez tordu), si vos données sont telles que vous le dites:
si on est sous excel 2007:
1° opération:
sélectionnez la colonne pour supprimer les "" qui nous embêtent et ne conserver que les virgules:
soit/ Onglet "Accueil" à droite: Recherche etc...
sélectionnez:
remplacer
en haut " en bas rien
et cliquez sur remplacer tout
ensuite, toujours avec la colonne sélectionnée:
onglet Données Outil de données / convertir
cochez "délimité" et "suivant" et "virgule" et "terminer"
vos données sont rangées en colonne selon les positions des virgules.
Ps vous pouvez aussi éviter la 1° opérations en choisissant: autre et en entrant " dans la case réservée.
Vous aurez alors une colonne vide entre chaque rubrique.
Crdlmnt
on peut y arriver par formule si le fichier est évolutif!mais avant de compliquer(c'est assez tordu), si vos données sont telles que vous le dites:
si on est sous excel 2007:
1° opération:
sélectionnez la colonne pour supprimer les "" qui nous embêtent et ne conserver que les virgules:
soit/ Onglet "Accueil" à droite: Recherche etc...
sélectionnez:
remplacer
en haut " en bas rien
et cliquez sur remplacer tout
ensuite, toujours avec la colonne sélectionnée:
onglet Données Outil de données / convertir
cochez "délimité" et "suivant" et "virgule" et "terminer"
vos données sont rangées en colonne selon les positions des virgules.
Ps vous pouvez aussi éviter la 1° opérations en choisissant: autre et en entrant " dans la case réservée.
Vous aurez alors une colonne vide entre chaque rubrique.
Crdlmnt
Mercii beaucoup, j'ai essayé et ça fonctionne.J'ai une autre question, est il possible de faire en sorte que ces manipulations soit automatisées car je dois faire ce travail pour plusieurs fichiers.?
" est il possible de faire en sorte que ces manipulations soit automatisées "
... sans doute, mais moi je ne sais pas!
avec mes regrets
Bonne chance.
crdlmnt
Ps à tout hasard le libellé de la macro qui fait le travail:
Sub SEPARE()
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=True, Other:=False, FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1),Array(4, 1), TrailingMinusNumbers:=True
End Sub
... sans doute, mais moi je ne sais pas!
avec mes regrets
Bonne chance.
crdlmnt
Ps à tout hasard le libellé de la macro qui fait le travail:
Sub SEPARE()
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=True, Other:=False, FieldInfo:= _
Array(Array(1, 1), Array(2, 1), Array(3, 1),Array(4, 1), TrailingMinusNumbers:=True
End Sub
voici une proposition pour automatiser mais à mon avis
la source de ton fichier aurait pu être redistribuer comme te l'as indiqué vaucluse.
note aussi 2 points :
1 ) je considère qu'il y a une ligne de titre donc je commence en A2
2) le 0 du numéro de telephone va disparaître il suffit d'appliquer le format spécial
pour l'affichage du tel.
bonne journée.
la source de ton fichier aurait pu être redistribuer comme te l'as indiqué vaucluse.
note aussi 2 points :
1 ) je considère qu'il y a une ligne de titre donc je commence en A2
2) le 0 du numéro de telephone va disparaître il suffit d'appliquer le format spécial
pour l'affichage du tel.
bonne journée.
Sub decoupage() Dim DerLig As Long Dim Ligne As String Dim K As Integer Dim I As Integer Range("A1").Select Selection.CurrentRegion.Select ' suppression des guillemets Selection.Replace What:="""", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False DerLig = Range("A65535").End(xlUp).Row ' je suppose que le tableau commence en A2 ' s'il commence en A1 : changer le 2 en 1 ' sur la ligne suivante K = 2 For I = 2 To DerLig Ligne = Cells(I, 1).Value While Len(Ligne) > 0 If Left(Ligne, 1) = "," Then K = K + 1 Ligne = Right(Ligne, Len(Ligne) - 1) Else Cells(I, K).Value = Cells(I, K) & Left(Ligne, 1) Ligne = Right(Ligne, Len(Ligne) - 1) End If Wend K = 2 Next End Sub