OVH Cloud OVH Cloud

Mise en page

7 réponses
Avatar
Luc
Bonjour,=20
j'ai une feuille Excel qui contient des donn=E9es dans la=20
colonne A. je Voudrais transf=E9rer ces donn=E9es de la=20
colonne A vers la ligne 1 (De la verticale =E0=20
l'horizontale).
De plus, si un symbole ( par exemple "*") appara=EEt dans=20
la colonne A, il faudrait qu'Excel interpr=E8te ce symbole=20
comme un "retour =E0 la ligne" et transf=E8re les donn=E9es qui=20
suivent non plus =E0 la ligne 1 mais =E0 la ligne 2. et ainsi=20
de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?

7 réponses

Avatar
Michel Gaboly
Bonjour

Veux- tu conserver les données initiales et avoir les infos
en ligne dans la colonne B (ou une autre) et les suivantes,
ou veux-tu remplacer les données initiales, avec dans ton
exemple (si on démarre en ligne 1) :

1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1 ?




Bonjour,
j'ai une feuille Excel qui contient des données dans la
colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît dans
la colonne A, il faudrait qu'Excel interprète ce symbole
comme un "retour à la ligne" et transfère les données qui
suivent non plus à la ligne 1 mais à la ligne 2. et ainsi
de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Il me faut exactement ça:
1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1
-----Message d'origine-----
Bonjour

Veux- tu conserver les données initiales et avoir les
infos

en ligne dans la colonne B (ou une autre) et les
suivantes,

ou veux-tu remplacer les données initiales, avec dans ton
exemple (si on démarre en ligne 1) :

1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1 ?




Bonjour,
j'ai une feuille Excel qui contient des données dans la
colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît dans
la colonne A, il faudrait qu'Excel interprète ce
symbole


comme un "retour à la ligne" et transfère les données
qui


suivent non plus à la ligne 1 mais à la ligne 2. et
ainsi


de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.




Avatar
John Fuss
Ceci devrait t'aller

Sub RecopieTransposeeQuiVaBien()
Dim ra As Range, TmpVal As String, col As Integer

Rows(1).Insert xlDown
col = 1
For Each ra In Range(Cells(2, 1), Cells(2, 1).End(xlDown))
If ra.Value = "*" Then
Cells(1, col) = TmpVal
TmpVal = ""
col = col + 1
Else
TmpVal = TmpVal & CStr(ra.Value)
End If
Next
If TmpVal <> "" Then Cells(1, col) = TmpVal
Range(Cells(2, 1), Cells(65536, 1)).Clear
End Sub

John


"Luc" a écrit dans le message de
news:1c8701c485cc$7a15ad00$
Bonjour,
j'ai une feuille Excel qui contient des données dans la
colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît dans
la colonne A, il faudrait qu'Excel interprète ce symbole
comme un "retour à la ligne" et transfère les données qui
suivent non plus à la ligne 1 mais à la ligne 2. et ainsi
de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?
Avatar
John Fuss
J'ai oublié de transposer les données obtenues, copier, collage spécial et
transposé.

Pardon, pardon

John

"John Fuss" a écrit dans le message de
news:cg1sok$mri$
Ceci devrait t'aller

Sub RecopieTransposeeQuiVaBien()
Dim ra As Range, TmpVal As String, col As Integer

Rows(1).Insert xlDown
col = 1
For Each ra In Range(Cells(2, 1), Cells(2, 1).End(xlDown))
If ra.Value = "*" Then
Cells(1, col) = TmpVal
TmpVal = ""
col = col + 1
Else
TmpVal = TmpVal & CStr(ra.Value)
End If
Next
If TmpVal <> "" Then Cells(1, col) = TmpVal
Range(Cells(2, 1), Cells(65536, 1)).Clear
End Sub

John


"Luc" a écrit dans le message de
news:1c8701c485cc$7a15ad00$
Bonjour,
j'ai une feuille Excel qui contient des données dans la
colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît dans
la colonne A, il faudrait qu'Excel interprète ce symbole
comme un "retour à la ligne" et transfère les données qui
suivent non plus à la ligne 1 mais à la ligne 2. et ainsi
de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?




Avatar
Yann
Bonjour,
En reprenant un peu le code de John... Ca devrait être OK.

Yann

Sub RecopieTransposeeQuiVaBien()
Dim ra As Range, TmpVal As String
Dim col As Integer, lig As Integer


col = 1
lig = 1
For Each ra In Range(Cells(2, 1), Cells(2, 1).End
(xlDown))
If ra = "*" Then
lig = lig + 1
col = 1
Else
Cells(lig, col)= CStr(ra)
col = col + 1
End If
Next
Range(Cells(lig + 1, 1), Cells(lig + 1, 1).End
(xlDown)).Clear
End Sub

-----Message d'origine-----
Il me faut exactement ça:
1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1
-----Message d'origine-----
Bonjour

Veux- tu conserver les données initiales et avoir les
infos

en ligne dans la colonne B (ou une autre) et les
suivantes,

ou veux-tu remplacer les données initiales, avec dans
ton


exemple (si on démarre en ligne 1) :

1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1 ?




Bonjour,
j'ai une feuille Excel qui contient des données dans
la



colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît
dans



la colonne A, il faudrait qu'Excel interprète ce
symbole


comme un "retour à la ligne" et transfère les données
qui


suivent non plus à la ligne 1 mais à la ligne 2. et
ainsi


de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.

.






Avatar
merci pour ces réponses rapides!
mais ce code je l'intègre où? (je suis pas encore 1
expert en Excel!)
-----Message d'origine-----
Bonjour,
En reprenant un peu le code de John... Ca devrait être
OK.


Yann

Sub RecopieTransposeeQuiVaBien()
Dim ra As Range, TmpVal As String
Dim col As Integer, lig As Integer


col = 1
lig = 1
For Each ra In Range(Cells(2, 1), Cells(2, 1).End
(xlDown))
If ra = "*" Then
lig = lig + 1
col = 1
Else
Cells(lig, col)= CStr(ra)
col = col + 1
End If
Next
Range(Cells(lig + 1, 1), Cells(lig + 1, 1).End
(xlDown)).Clear
End Sub

-----Message d'origine-----
Il me faut exactement ça:
1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1
-----Message d'origine-----
Bonjour

Veux- tu conserver les données initiales et avoir les
infos

en ligne dans la colonne B (ou une autre) et les
suivantes,

ou veux-tu remplacer les données initiales, avec dans
ton


exemple (si on démarre en ligne 1) :

1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1 ?




Bonjour,
j'ai une feuille Excel qui contient des données dans
la



colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît
dans



la colonne A, il faudrait qu'Excel interprète ce
symbole


comme un "retour à la ligne" et transfère les
données




qui
suivent non plus à la ligne 1 mais à la ligne 2. et
ainsi


de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.

.


.







Avatar
c bon j'ai trouvé et ça fonctionne à merveille merci
beaucoup
-----Message d'origine-----
merci pour ces réponses rapides!
mais ce code je l'intègre où? (je suis pas encore 1
expert en Excel!)
-----Message d'origine-----
Bonjour,
En reprenant un peu le code de John... Ca devrait être
OK.


Yann

Sub RecopieTransposeeQuiVaBien()
Dim ra As Range, TmpVal As String
Dim col As Integer, lig As Integer


col = 1
lig = 1
For Each ra In Range(Cells(2, 1), Cells(2, 1).End
(xlDown))
If ra = "*" Then
lig = lig + 1
col = 1
Else
Cells(lig, col)= CStr(ra)
col = col + 1
End If
Next
Range(Cells(lig + 1, 1), Cells(lig + 1, 1).End
(xlDown)).Clear
End Sub

-----Message d'origine-----
Il me faut exactement ça:
1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1
-----Message d'origine-----
Bonjour

Veux- tu conserver les données initiales et avoir les
infos

en ligne dans la colonne B (ou une autre) et les
suivantes,

ou veux-tu remplacer les données initiales, avec dans
ton


exemple (si on démarre en ligne 1) :

1 en A1, 2 en B1, 3 en C1
4 en A2, 5 en B2, 6 en C1 ?




Bonjour,
j'ai une feuille Excel qui contient des données
dans





la
colonne A. je Voudrais transférer ces données de la
colonne A vers la ligne 1 (De la verticale à
l'horizontale).
De plus, si un symbole ( par exemple "*") apparaît
dans



la colonne A, il faudrait qu'Excel interprète ce
symbole


comme un "retour à la ligne" et transfère les
données




qui
suivent non plus à la ligne 1 mais à la ligne 2. et
ainsi


de suite...

Exemple:
1
2
3
*
4
5
6
devrait donner
123
456
Est-ce possible?


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.

.


.


.