Comment structurer fichier excel

Résolu
B95190 Messages postés 139 Statut Membre -  
Bidouilleu_R Messages postés 1209 Statut Membre -
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

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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

    1
  2. B95190 Messages postés 139 Statut Membre 25
     
    up?
    0
  3. B95190 Messages postés 139 Statut Membre 25
     
    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.?
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      " 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
      0
  4. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    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.

    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
    0