OVH Cloud OVH Cloud

lignes => tableau/colonne

4 réponses
Avatar
Franck
Bonjour à tous,
voila j'ai un petit problème que je souhaiterais régler par une macro ou un
truc dans le genre, je ne suis pas un expert sur excel mais je pense que
cela doit être possible.
J'extrait un fichier d'une base de donée et j'obtiens les lignes suivantes

1 jean gaston D1 D2
2 jean gaston D3 D4
3 jean gaston D3 D5
4 jean gaston D3 D6
1 toto ralf D2 D7
2 toto ralf D8 D9
1 titi filout DX DY
......

que je souhaiterais mettre en colonne du type

jean | gaston| 1 | 2 |3 |4
| | D1 |D3 |D3 |D3
| |D2 |D4 |D5 |D6
toto | ralf | 1 | 2 | 3 | 4
| | D2 |D8| |
| | D7 |D9| |
titi | filout |1 | 2 | 3 | 4
| |DX | | |
| |DY | | |
.........ect

pourriez-vous m'aider svp, car la requete que j'extrait en format txt (d'un
autre soft) ne peut être modifée et je réalise cette opération manuellement.
N'importe quelle aide qui pourrait ne serait ce que semi-automatiser serait
grandement appréciée.
D'avance merci
Franck

4 réponses

Avatar
Daniel.j
Bonsoir,
En ouvrant le fichier txt (Fichier<Ouvrir>Type de fichier texte... prn,txt,csv) ou en important tes
données au format txt:
Dans l'assistant Importation de texte, tu choisis le type de fichier "Délimité"
=>suivant
et pour : Séparateurs tu choisis "Espace"

--
Daniel
FAQ du Forum Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm



"Franck" a écrit dans le message de news:
ccuga5$nul$
| Bonjour à tous,
| voila j'ai un petit problème que je souhaiterais régler par une macro ou un
| truc dans le genre, je ne suis pas un expert sur excel mais je pense que
| cela doit être possible.
| J'extrait un fichier d'une base de donée et j'obtiens les lignes suivantes
|
| 1 jean gaston D1 D2
| 2 jean gaston D3 D4
| 3 jean gaston D3 D5
| 4 jean gaston D3 D6
| 1 toto ralf D2 D7
| 2 toto ralf D8 D9
| 1 titi filout DX DY
| ......
|
| que je souhaiterais mettre en colonne du type
|
| jean | gaston| 1 | 2 |3 |4
| | | D1 |D3 |D3 |D3
| | |D2 |D4 |D5 |D6
| toto | ralf | 1 | 2 | 3 | 4
| | | D2 |D8| |
| | | D7 |D9| |
| titi | filout |1 | 2 | 3 | 4
| | |DX | | |
| | |DY | | |
| .........ect
|
| pourriez-vous m'aider svp, car la requete que j'extrait en format txt (d'un
| autre soft) ne peut être modifée et je réalise cette opération manuellement.
| N'importe quelle aide qui pourrait ne serait ce que semi-automatiser serait
| grandement appréciée.
| D'avance merci
| Franck
|
|
Avatar
Shnoulle
Bonjour Franck,

Pour continuer Sur ce qu'a comencé Daniel.J

Si le fichier est déjas ouvert sous excel et en format Excel

Données/Convertir puis séparateur " "

Ca fonctionne pareil

Puis en supposant que tes données sur feuil1, le résultat sur feuil2 (nom
VBA project)
et ue tu obtient bien:
1 jean gaston D1 D2
2 jean gaston D3 D4
3 jean gaston D3 D5
4 jean gaston D3 D6
1 toto ralf D2 D7
2 toto ralf D8 D9
1 titi filout DX DY

en feuil1

Lance la macro suivante

Sub Main()
Dim LigOr As Long
Dim ColOr As Long

Dim LigFin As Long
Dim ColFin As Long

LigOr = 1
ColOr = 4
LigFin = 1
ColFin = 3
Feuil2.Cells(LigFin, ColFin - 2) = Feuil1.Cells(LigOr, ColOr - 2)
Feuil2.Cells(LigFin, ColFin - 1) = Feuil1.Cells(LigOr, ColOr - 1)
Feuil2.Cells(LigFin, ColFin) = Feuil1.Cells(LigOr, ColOr - 3)
Feuil2.Cells(LigFin + 1, ColFin) = Feuil1.Cells(LigOr, ColOr)
Feuil2.Cells(LigFin + 2, ColFin) = Feuil1.Cells(LigOr, ColOr + 1)
ColFin = ColFin + 1

Do
LigOr = LigOr + 1
If IsEmpty(Feuil1.Cells(LigOr, ColOr - 3)) Then Exit Do
If ((Feuil1.Cells(LigOr, ColOr - 2) = Feuil1.Cells(LigOr - 1, ColOr - 2))
And (Feuil1.Cells(LigOr, ColOr - 1) = Feuil1.Cells(LigOr - 1, ColOr - 1)))
Then
Else
LigFin = LigFin + 3
ColOr = 4
ColFin = 3
Feuil2.Cells(LigFin, ColFin - 2) = Feuil1.Cells(LigOr, ColOr - 2)
Feuil2.Cells(LigFin, ColFin - 1) = Feuil1.Cells(LigOr, ColOr - 1)
End If
Feuil2.Cells(LigFin, ColFin) = Feuil1.Cells(LigOr, ColOr - 3)
Feuil2.Cells(LigFin + 1, ColFin) = Feuil1.Cells(LigOr, ColOr)
Feuil2.Cells(LigFin + 2, ColFin) = Feuil1.Cells(LigOr, ColOr + 1)
ColFin = ColFin + 1
Loop


End Sub


Il y a certainement beaucoup plus élégant mais je ne suis pas connu pour mon
élégance, ca marche et c'est facilement modifiable



A+
Shnoulle





De : "Daniel.j"
Groupes : microsoft.public.fr.excel
Date : Mon, 12 Jul 2004 20:08:04 +0200
Objet : Re: lignes => tableau/colonne

Bonsoir,
En ouvrant le fichier txt (Fichier<Ouvrir>Type de fichier texte...
prn,txt,csv) ou en important tes
données au format txt:
Dans l'assistant Importation de texte, tu choisis le type de fichier
"Délimité"
=>suivant
et pour : Séparateurs tu choisis "Espace"

--
Daniel
FAQ du Forum Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm



"Franck" a écrit dans le message de news:
ccuga5$nul$
| Bonjour à tous,
| voila j'ai un petit problème que je souhaiterais régler par une macro ou un
| truc dans le genre, je ne suis pas un expert sur excel mais je pense que
| cela doit être possible.
| J'extrait un fichier d'une base de donée et j'obtiens les lignes suivantes
|
| 1 jean gaston D1 D2
| 2 jean gaston D3 D4
| 3 jean gaston D3 D5
| 4 jean gaston D3 D6
| 1 toto ralf D2 D7
| 2 toto ralf D8 D9
| 1 titi filout DX DY
| ......
|
| que je souhaiterais mettre en colonne du type
|
| jean | gaston| 1 | 2 |3 |4
| | | D1 |D3 |D3 |D3
| | |D2 |D4 |D5 |D6
| toto | ralf | 1 | 2 | 3 | 4
| | | D2 |D8| |
| | | D7 |D9| |
| titi | filout |1 | 2 | 3 | 4
| | |DX | | |
| | |DY | | |
| .........ect
|
| pourriez-vous m'aider svp, car la requete que j'extrait en format txt (d'un
| autre soft) ne peut être modifée et je réalise cette opération manuellement.
| N'importe quelle aide qui pourrait ne serait ce que semi-automatiser serait
| grandement appréciée.
| D'avance merci
| Franck
|
|




Avatar
Franck
Merci à Daniel & à Shnoulle,

Les 2 fonctionnent parfaitement merci, j'ai simplement ajouté une petite
macro (probablement très lourde) pour rajouter des lignes et obtenir une
séquence 1,2,3,4 sur la feuil1 sinon je n'avais pas le résultat que je
souhaitais,
Merci encore pour votre aide qui me permet de gagner pas mal de temps.

Franck

"Shnoulle" wrote in message
news:BD1971EA.185C0%

Bonjour Franck,

Pour continuer Sur ce qu'a comencé Daniel.J

Si le fichier est déjas ouvert sous excel et en format Excel

Données/Convertir puis séparateur " "

Ca fonctionne pareil

Puis en supposant que tes données sur feuil1, le résultat sur feuil2 (nom
VBA project)
et ue tu obtient bien:
1 jean gaston D1 D2
2 jean gaston D3 D4
3 jean gaston D3 D5
4 jean gaston D3 D6
1 toto ralf D2 D7
2 toto ralf D8 D9
1 titi filout DX DY

en feuil1

Lance la macro suivante

Sub Main()
Dim LigOr As Long
Dim ColOr As Long

Dim LigFin As Long
Dim ColFin As Long

LigOr = 1
ColOr = 4
LigFin = 1
ColFin = 3
Feuil2.Cells(LigFin, ColFin - 2) = Feuil1.Cells(LigOr, ColOr - 2)
Feuil2.Cells(LigFin, ColFin - 1) = Feuil1.Cells(LigOr, ColOr - 1)
Feuil2.Cells(LigFin, ColFin) = Feuil1.Cells(LigOr, ColOr - 3)
Feuil2.Cells(LigFin + 1, ColFin) = Feuil1.Cells(LigOr, ColOr)
Feuil2.Cells(LigFin + 2, ColFin) = Feuil1.Cells(LigOr, ColOr + 1)
ColFin = ColFin + 1

Do
LigOr = LigOr + 1
If IsEmpty(Feuil1.Cells(LigOr, ColOr - 3)) Then Exit Do
If ((Feuil1.Cells(LigOr, ColOr - 2) = Feuil1.Cells(LigOr - 1, ColOr - 2))
And (Feuil1.Cells(LigOr, ColOr - 1) = Feuil1.Cells(LigOr - 1, ColOr - 1)))
Then
Else
LigFin = LigFin + 3
ColOr = 4
ColFin = 3
Feuil2.Cells(LigFin, ColFin - 2) = Feuil1.Cells(LigOr, ColOr - 2)
Feuil2.Cells(LigFin, ColFin - 1) = Feuil1.Cells(LigOr, ColOr - 1)
End If
Feuil2.Cells(LigFin, ColFin) = Feuil1.Cells(LigOr, ColOr - 3)
Feuil2.Cells(LigFin + 1, ColFin) = Feuil1.Cells(LigOr, ColOr)
Feuil2.Cells(LigFin + 2, ColFin) = Feuil1.Cells(LigOr, ColOr + 1)
ColFin = ColFin + 1
Loop


End Sub


Il y a certainement beaucoup plus élégant mais je ne suis pas connu pour
mon

élégance, ca marche et c'est facilement modifiable



A+
Shnoulle





De : "Daniel.j"
Groupes : microsoft.public.fr.excel
Date : Mon, 12 Jul 2004 20:08:04 +0200
Objet : Re: lignes => tableau/colonne

Bonsoir,
En ouvrant le fichier txt (Fichier<Ouvrir>Type de fichier texte...
prn,txt,csv) ou en important tes
données au format txt:
Dans l'assistant Importation de texte, tu choisis le type de fichier
"Délimité"
=>suivant
et pour : Séparateurs tu choisis "Espace"

--
Daniel
FAQ du Forum Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm



"Franck" a écrit dans le message de news:
ccuga5$nul$
| Bonjour à tous,
| voila j'ai un petit problème que je souhaiterais régler par une macro
ou un


| truc dans le genre, je ne suis pas un expert sur excel mais je pense
que


| cela doit être possible.
| J'extrait un fichier d'une base de donée et j'obtiens les lignes
suivantes


|
| 1 jean gaston D1 D2
| 2 jean gaston D3 D4
| 3 jean gaston D3 D5
| 4 jean gaston D3 D6
| 1 toto ralf D2 D7
| 2 toto ralf D8 D9
| 1 titi filout DX DY
| ......
|
| que je souhaiterais mettre en colonne du type
|
| jean | gaston| 1 | 2 |3 |4
| | | D1 |D3 |D3 |D3
| | |D2 |D4 |D5 |D6
| toto | ralf | 1 | 2 | 3 | 4
| | | D2 |D8| |
| | | D7 |D9| |
| titi | filout |1 | 2 | 3 | 4
| | |DX | | |
| | |DY | | |
| .........ect
|
| pourriez-vous m'aider svp, car la requete que j'extrait en format txt
(d'un


| autre soft) ne peut être modifée et je réalise cette opération
manuellement.


| N'importe quelle aide qui pourrait ne serait ce que semi-automatiser
serait


| grandement appréciée.
| D'avance merci
| Franck
|
|







Avatar
Shnoulle
Merci à Daniel & à Shnoulle,


De rien , c'est un plaisir !

A+
Shnoulle





De : "Franck"
Groupes : microsoft.public.fr.excel
Date : Tue, 13 Jul 2004 21:04:21 +0200
Objet : Re: lignes => tableau/colonne

Merci à Daniel & à Shnoulle,

Les 2 fonctionnent parfaitement merci, j'ai simplement ajouté une petite
macro (probablement très lourde) pour rajouter des lignes et obtenir une
séquence 1,2,3,4 sur la feuil1 sinon je n'avais pas le résultat que je
souhaitais,
Merci encore pour votre aide qui me permet de gagner pas mal de temps.

Franck

"Shnoulle" wrote in message
news:BD1971EA.185C0%

Bonjour Franck,

Pour continuer Sur ce qu'a comencé Daniel.J

Si le fichier est déjas ouvert sous excel et en format Excel

Données/Convertir puis séparateur " "

Ca fonctionne pareil

Puis en supposant que tes données sur feuil1, le résultat sur feuil2 (nom
VBA project)
et ue tu obtient bien:
1 jean gaston D1 D2
2 jean gaston D3 D4
3 jean gaston D3 D5
4 jean gaston D3 D6
1 toto ralf D2 D7
2 toto ralf D8 D9
1 titi filout DX DY

en feuil1

Lance la macro suivante

Sub Main()
Dim LigOr As Long
Dim ColOr As Long

Dim LigFin As Long
Dim ColFin As Long

LigOr = 1
ColOr = 4
LigFin = 1
ColFin = 3
Feuil2.Cells(LigFin, ColFin - 2) = Feuil1.Cells(LigOr, ColOr - 2)
Feuil2.Cells(LigFin, ColFin - 1) = Feuil1.Cells(LigOr, ColOr - 1)
Feuil2.Cells(LigFin, ColFin) = Feuil1.Cells(LigOr, ColOr - 3)
Feuil2.Cells(LigFin + 1, ColFin) = Feuil1.Cells(LigOr, ColOr)
Feuil2.Cells(LigFin + 2, ColFin) = Feuil1.Cells(LigOr, ColOr + 1)
ColFin = ColFin + 1

Do
LigOr = LigOr + 1
If IsEmpty(Feuil1.Cells(LigOr, ColOr - 3)) Then Exit Do
If ((Feuil1.Cells(LigOr, ColOr - 2) = Feuil1.Cells(LigOr - 1, ColOr - 2))
And (Feuil1.Cells(LigOr, ColOr - 1) = Feuil1.Cells(LigOr - 1, ColOr - 1)))
Then
Else
LigFin = LigFin + 3
ColOr = 4
ColFin = 3
Feuil2.Cells(LigFin, ColFin - 2) = Feuil1.Cells(LigOr, ColOr - 2)
Feuil2.Cells(LigFin, ColFin - 1) = Feuil1.Cells(LigOr, ColOr - 1)
End If
Feuil2.Cells(LigFin, ColFin) = Feuil1.Cells(LigOr, ColOr - 3)
Feuil2.Cells(LigFin + 1, ColFin) = Feuil1.Cells(LigOr, ColOr)
Feuil2.Cells(LigFin + 2, ColFin) = Feuil1.Cells(LigOr, ColOr + 1)
ColFin = ColFin + 1
Loop


End Sub


Il y a certainement beaucoup plus élégant mais je ne suis pas connu pour
mon

élégance, ca marche et c'est facilement modifiable



A+
Shnoulle





De : "Daniel.j"
Groupes : microsoft.public.fr.excel
Date : Mon, 12 Jul 2004 20:08:04 +0200
Objet : Re: lignes => tableau/colonne

Bonsoir,
En ouvrant le fichier txt (Fichier<Ouvrir>Type de fichier texte...
prn,txt,csv) ou en important tes
données au format txt:
Dans l'assistant Importation de texte, tu choisis le type de fichier
"Délimité"
=>suivant
et pour : Séparateurs tu choisis "Espace"

--
Daniel
FAQ du Forum Microsoft Public Fr Excel
http://dj.joss.free.fr/faq.htm



"Franck" a écrit dans le message de news:
ccuga5$nul$
| Bonjour à tous,
| voila j'ai un petit problème que je souhaiterais régler par une macro
ou un


| truc dans le genre, je ne suis pas un expert sur excel mais je pense
que


| cela doit être possible.
| J'extrait un fichier d'une base de donée et j'obtiens les lignes
suivantes


|
| 1 jean gaston D1 D2
| 2 jean gaston D3 D4
| 3 jean gaston D3 D5
| 4 jean gaston D3 D6
| 1 toto ralf D2 D7
| 2 toto ralf D8 D9
| 1 titi filout DX DY
| ......
|
| que je souhaiterais mettre en colonne du type
|
| jean | gaston| 1 | 2 |3 |4
| | | D1 |D3 |D3 |D3
| | |D2 |D4 |D5 |D6
| toto | ralf | 1 | 2 | 3 | 4
| | | D2 |D8| |
| | | D7 |D9| |
| titi | filout |1 | 2 | 3 | 4
| | |DX | | |
| | |DY | | |
| .........ect
|
| pourriez-vous m'aider svp, car la requete que j'extrait en format txt
(d'un


| autre soft) ne peut être modifée et je réalise cette opération
manuellement.


| N'importe quelle aide qui pourrait ne serait ce que semi-automatiser
serait


| grandement appréciée.
| D'avance merci
| Franck
|
|