OVH Cloud OVH Cloud

Copie inverse de données

5 réponses
Avatar
Senior Meteo
Salut tout le monde,

Je d=E9sire copier une s=E9rie de donn=E9es t=E9l=E9charg=E9e en=20
commen=E7ant par la derni=E8re ligne de la s=E9rie et finissant=20
par la premi=E8re ligne, ceci en conservant l'ordre inverse=20
de la s=E9rie bien =E9videmment. Tout ceci sous XL 2000.

Comment le puis-je ?

Merci de vos r=E9ponses

5 réponses

Avatar
garnote
Salut Monsieur Meteo,

Je ne sais pas si on peut faire ça avec des collages spéciaux
mais cette macro semble convenir si tes données
apparaissent sur une même colonne.
Tu sélectionnes tes données et tu appelles cette macro :

Sub CopieInverseColonneAdjacenteDroite()
Set ici = Selection
NL = ici.Rows.Count
For i = 0 To NL
ici.Offset(i, 1) = ici(NL - i)
Next i
End Sub

Serge



"Senior Meteo" a écrit dans le message
de news: 06d401c3b3a8$c2c00e70$
Salut tout le monde,

Je désire copier une série de données téléchargée en
commençant par la dernière ligne de la série et finissant
par la première ligne, ceci en conservant l'ordre inverse
de la série bien évidemment. Tout ceci sous XL 2000.

Comment le puis-je ?

Merci de vos réponses
Avatar
Daniel.M
Bonsoir,

Afin de parer aux erreurs pour les limites de la zone (surtout si on A1):

Sub CopieInverseColonneAdjacenteDroite()
Set ici = Selection
NL = ici.Rows.Count
For i = 1 To NL
ici(i, 2) = ici(NL + 1 - i, 1)
Next i
End Sub
Avatar
j
sans macro, avec une horrible formule
si la liste est dans la colonne A :
sélectionne la plage B1:B1000, inscrit la dormule suivante
=INDEX(A:A;1+MAX(LIGNE($A$1:$A$1000)*($A$1:$A$1000<>""))-LIGNE())
puis valide par CTRL+MAJ+Entrée
--

http://jacxl.free.fr/



"garnote" a écrit dans le message de news:
zIRwb.66365$
Salut Monsieur Meteo,

Je ne sais pas si on peut faire ça avec des collages spéciaux
mais cette macro semble convenir si tes données
apparaissent sur une même colonne.
Tu sélectionnes tes données et tu appelles cette macro :

Sub CopieInverseColonneAdjacenteDroite()
Set ici = Selection
NL = ici.Rows.Count
For i = 0 To NL
ici.Offset(i, 1) = ici(NL - i)
Next i
End Sub

Serge



"Senior Meteo" a écrit dans le
message

de news: 06d401c3b3a8$c2c00e70$
Salut tout le monde,

Je désire copier une série de données téléchargée en
commençant par la dernière ligne de la série et finissant
par la première ligne, ceci en conservant l'ordre inverse
de la série bien évidemment. Tout ceci sous XL 2000.

Comment le puis-je ?

Merci de vos réponses




Avatar
AV
Pour des données en A1:Ax :
En B2 --> recopie Bx :
=INDIRECT("A"&LIGNES(A1:A$x))

par macro :
Sub zzz()
x = [A65536].End(3).Row
Range("B1:B" & x) = "=indirect(""A""&rows(A1:A$" & x & "))"
Range("B1:B" & x) = (Range("B1:B" & x))
End Sub

AV
Avatar
garnote
Yep ! Bien reçu.

Serge

"Daniel.M" a écrit dans le message de
news:
Bonsoir,

Afin de parer aux erreurs pour les limites de la zone (surtout si on A1):

Sub CopieInverseColonneAdjacenteDroite()
Set ici = Selection
NL = ici.Rows.Count
For i = 1 To NL
ici(i, 2) = ici(NL + 1 - i, 1)
Next i
End Sub