Reorganiser le contenu d'une cellule

nico2rib

XLDnaute Nouveau
Bonjour a tous.

Je commence a monter ma petite entreprise et pour cela, j ai besoin de crée une ptite base de donnée...
J ai deja essayer de trouver la solution a mon probleme sur ce forum mais a moins que j ai ratté le post, je n ai pas trouver grand chose.

Voila mon probleme.

J ai exporter depuis outlook, mes mails sous forme excel et je me retrouve avec tous le corps du text dan la colone 2.
Le corps du texte est toujours du meme type; Nom: XXX Mail: XXX Adresse: XXX code postale: XXX Tel: XXX.

Tout ce texte se retrouve dans la même cellule. et chaque info est séparer par un espace...

Et donc, comme vous l'avez surement compris il me faut en A1: NOM et en A2: XXX, en B1: Adresse et en B2: XXX, etc

J ai quelques notions en VBA et je souhaiterai passer par ce programme pour actualiser cette lite au fur et a mesure. Mais malgrés mes tentatives, je n'y arrive pas trop.

Sachant que dans mon fichier de base il y a une centaine d'adresse... il me faudrait une centaine de lignes...

Merci pour votre aide

Cordialement.

:eek:Nico:eek:
 

nico2rib

XLDnaute Nouveau
Re : Reorganiser le contenu d'une cellule

J ai trouvé un code sur le site qui fait presque ce que je ve.
Cependant, il y a un petit probleme que je n arrive pas a réglé.

Voici le code:

Private Sub CommandButton1_Click()
Dim Cel As Range
Dim Dte As Date
Dim DerLig As Long, DerLig2 As Long
DerLig = [A65000].End(xlUp).Row
For Each Cel In Sheets("Email").Range("B2:B30" & DerLig).SpecialCells(xlCellTypeConstants, 23)
tmp = Split(Cel, Chr(10))
Dte = Cells(Cel.Row, 1)
For i = LBound(tmp) To UBound(tmp)
With Sheets("Sheet1")
DerLig2 = .[A65000].End(xlUp).Row + 1
.Cells(DerLig2, 2).Value = tmp(i)
.Cells(DerLig2, 1).Value = Dte
End With
Next i
Next Cel
End Sub

Seuleument, ce code trie les données en descendant dans la tableur alors que je voudrais qu'il aille de gauche a droite.

J'ai essayé en changeant (en rouge):

Private Sub CommandButton1_Click()
Dim Cel As Range
Dim Dte As Date
Dim DerLig As Long, DerLig2 As Long
DerLig = [A65000].End(xlUp).Row
For Each Cel In Sheets("Email").Range("B2:B30" & DerLig).SpecialCells(xlCellTypeConstants, 23)
tmp = Split(Cel, Chr(10))
Dte = Cells(Cel.Row, 1)
For i = LBound(tmp) To UBound(tmp)
With Sheets("Sheet1")
DerLig2 = .[A65000].End(xlUp).Column + 1
.Cells(DerLig2, 2).Value = tmp(i)
.Cells(DerLig2, 1).Value = Dte
End With
Next i
Next Cel
End Sub

Mais les lignes s'inscrivent les unes sur les autres dans la même cellule.
Quelqun a t'il la solution pour que une fois qu'il a rempli une cellule, il passe a celle de droite.

:eek:Merci beaucoup:eek:
 

Hervé

XLDnaute Barbatruc
Re : Reorganiser le contenu d'une cellule

bonjour

essaye comme ceci :

Code:
Dim Cel As Range
Dim Dte As Date
Dim tmp
Dim i As Integer
Dim DerLig As Long, DerLig2 As Long
DerLig = [A65000].End(xlUp).Row
For Each Cel In Sheets("Email").Range[COLOR=red]("B2:B" & DerLig[/COLOR])
    tmp = Split(Cel, Chr(10))
    Dte = Cells(Cel.Row, 1)
    [COLOR=red]DerLig2 = Sheets("Sheet1").[A65000].End(xlUp).Row + 1
[/COLOR]    For i = LBound(tmp) To UBound(tmp)
        With Sheets("Sheet1")
            .Cells(DerLig2,[COLOR=red] i + 2[/COLOR]).Value = tmp(i)
            .Cells(DerLig2, 1).Value = Dte
        End With
    Next i
Next Cel

j'ai pas bien compris cette ligne :

For Each Cel In Sheets("Email").Range("B2:B" & DerLig).SpecialCells(xlCellTypeConstants, 23)

a plus
 

Discussions similaires

Réponses
3
Affichages
274
Réponses
16
Affichages
981

Statistiques des forums

Discussions
311 730
Messages
2 081 989
Membres
101 856
dernier inscrit
Marina40