Transposer 180 degrés

Le
Albert
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
-
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
--
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou vice
versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick BASTARD
Le #20509331
Bonjour, "Albert"
Données, Trier sur la première colonne, en ordre croissant, après avoir
sélectionné ta plage, devrait le faire.
Tu peux ensuite déplacer ta première colonne vers la 4°.
Ok ?

--
Bien ,

Patrick
patrick.bastardchezdbmail.com


J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou vice
versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid






Fredo P.
Le #20509961
http://cjoint.com/?lhsESFWTno
Sub Trans_Trans()
'
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim Plg As Range, C As Object, i#, Plgd()
Set Plg = Range("B2:G4") 'plage à traiter
i = Application.CountA(Plg) - 1
ReDim Plgd(i)
For Each C In Plg
Plgd(i) = C
i = i - 1
Next
i = 0
For Each C In Plg
C = Plgd(i)
i = i + 1
Next
' Plg.Value = Plgd() 'ubound(plgd),plgd(0)
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub



Fredo P.


"Albert"
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou vice
versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid





Albert
Le #20510221
Bonsoir ou bonjour selon

Patrick c'est trop simple, je me botte le xxx...
Merci de m'avoir réveillé.
Albert

"Patrick BASTARD" message de news:%
Bonjour, "Albert"
Données, Trier sur la première colonne, en ordre croissant, après avoir
sélectionné ta plage, devrait le faire.
Tu peux ensuite déplacer ta première colonne vers la 4°.
Ok ?

--
Bien ,

Patrick
patrick.bastardchezdbmail.com


J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou
vice versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid









Albert
Le #20510211
Merci Fredo P.
Mais la réponse de Patrick me satisfait pleinement, c'est exactement ce que
j'ai besoin.
Et je n'ai pas d'excuse pour ne pas y avoir pensé.
Albert

"Fredo P." de news:eM%


http://cjoint.com/?lhsESFWTno
Sub Trans_Trans()
'
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim Plg As Range, C As Object, i#, Plgd()
Set Plg = Range("B2:G4") 'plage à traiter
i = Application.CountA(Plg) - 1
ReDim Plgd(i)
For Each C In Plg
Plgd(i) = C
i = i - 1
Next
i = 0
For Each C In Plg
C = Plgd(i)
i = i + 1
Next
' Plg.Value = Plgd() 'ubound(plgd),plgd(0)
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub



Fredo P.


"Albert"
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou
vice versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid









Fredo P.
Le #20510201
Une petite amélio

http://cjoint.com/?lhtdhGpkwu

Sub Trans_Trans()
'
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim Plg As Range, C As Object, i#, J#, JJ#, Plgd()
Set Plg = Range("B2:G4") 'plage à traiter
i = Plg.Rows.Count - 1: J = Plg.Columns.Count - 1
JJ = J
ReDim Plgd(i, J)
For Each C In Plg
Plgd(i, J) = C
J = J - 1
i = i + (J < 0)
J = J + (J < 0) * -JJ
Next
Plg = Plgd()
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Fredo P.


"Albert"
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou vice
versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid





Fredo P.
Le #20510191
Ce sont les données de ton tableau n'étant pas en ordre décroissant sur
toutes les colonnes qui m'ont poussé à voir une autre solution, la
transposition sans tri préalable. Bon!, que cela serve pour le moins
d'école.


"Albert" %
Merci Fredo P.
Mais la réponse de Patrick me satisfait pleinement, c'est exactement ce
que j'ai besoin.
Et je n'ai pas d'excuse pour ne pas y avoir pensé.
Albert

"Fredo P." message de news:eM%


http://cjoint.com/?lhsESFWTno
Sub Trans_Trans()
'
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim Plg As Range, C As Object, i#, Plgd()
Set Plg = Range("B2:G4") 'plage à traiter
i = Application.CountA(Plg) - 1
ReDim Plgd(i)
For Each C In Plg
Plgd(i) = C
i = i - 1
Next
i = 0
For Each C In Plg
C = Plgd(i)
i = i + 1
Next
' Plg.Value = Plgd() 'ubound(plgd),plgd(0)
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub



Fredo P.


"Albert"
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou
vice versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid












Fredo P.
Le #20510431
Si en + je mets des trucs qui m..!

http://cjoint.com/?lhtzmUWICC
--

Fredo P.


"Albert" %
Merci Fredo P.
Mais la réponse de Patrick me satisfait pleinement, c'est exactement ce
que j'ai besoin.
Et je n'ai pas d'excuse pour ne pas y avoir pensé.
Albert

"Fredo P." message de news:eM%


http://cjoint.com/?lhsESFWTno
Sub Trans_Trans()
'
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim Plg As Range, C As Object, i#, Plgd()
Set Plg = Range("B2:G4") 'plage à traiter
i = Application.CountA(Plg) - 1
ReDim Plgd(i)
For Each C In Plg
Plgd(i) = C
i = i - 1
Next
i = 0
For Each C In Plg
C = Plgd(i)
i = i + 1
Next
' Plg.Value = Plgd() 'ubound(plgd),plgd(0)
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub



Fredo P.


"Albert"
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou
vice versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid












garnote
Le #20510671
Ave,

Et pour le plaisir :

Sub Rotation_Plage_180()
Set p = Selection
NC = p.Columns.Count
Set p1 = p.Offset(0, NC + 1)
n = p.Count
For i = 1 To n
p1(i) = p(n + 1 - i)
Next i
End Sub

J'ai choisi d'installer la plage pivotée de 180 degrés
à droite de la plage initiale. Choix arbitraire.

Serge
Albert
Le #20510721
Merci Fredo P.
démonstrations très intéressantes,
j'espère avoir le courage de me mettre bientôt au VBA
merci Albert


"Fredo P." de news:
Si en + je mets des trucs qui m..!

http://cjoint.com/?lhtzmUWICC
--

Fredo P.


"Albert" %
Merci Fredo P.
Mais la réponse de Patrick me satisfait pleinement, c'est exactement ce
que j'ai besoin.
Et je n'ai pas d'excuse pour ne pas y avoir pensé.
Albert

"Fredo P." message de news:eM%


http://cjoint.com/?lhsESFWTno
Sub Trans_Trans()
'
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim Plg As Range, C As Object, i#, Plgd()
Set Plg = Range("B2:G4") 'plage à traiter
i = Application.CountA(Plg) - 1
ReDim Plgd(i)
For Each C In Plg
Plgd(i) = C
i = i - 1
Next
i = 0
For Each C In Plg
C = Plgd(i)
i = i + 1
Next
' Plg.Value = Plgd() 'ubound(plgd),plgd(0)
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub



Fredo P.


"Albert"
Bonjour

J'ai une plage de chiffres sur 6 colonnes
qui va de 75 à 1 en descendant
je voudrais la transposer pour avoir de 1 à 75

actuel
75 3 4 8
74 5 7 3
----
2 5 1 4
1 4 8 9
pour avoir
9 8 4 1
4 1 5 2
-----
3 7 5 74
8 4 3 75

dans le moment je ne peux que transposer de vertical à horizontal, ou
vice versa.
ce qui me redonne la disposition originale.
merci

--
albertri-at-videotron.ca.invalid
















garnote
Le #20510811
Et pour une rotation "sur place" :

Sub Rotation_Plage_180_Sur_Place()
Dim v()
Set p = Selection
n = p.Count
ReDim v(1 To n)
For i = 1 To n
v(i) = p(i)
Next i
For j = 1 To n
p(j) = v(n + 1 - j)
Next j
End Sub

Ne reste plus qu'à trouver un truc pour
des rotations de 90 et 270 degrés ;-)

Serge


"garnote"
Ave,

Et pour le plaisir :

Sub Rotation_Plage_180()
Set p = Selection
NC = p.Columns.Count
Set p1 = p.Offset(0, NC + 1)
n = p.Count
For i = 1 To n
p1(i) = p(n + 1 - i)
Next i
End Sub

J'ai choisi d'installer la plage pivotée de 180 degrés
à droite de la plage initiale. Choix arbitraire.

Serge



Publicité
Poster une réponse
Anonyme