Inverser les valeurs des colonnes d'une ligne VBA

pgillou Messages postés 49 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 14 octobre 2010 - 22 août 2010 à 13:39
cs_akzo Messages postés 133 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 3 janvier 2015 - 24 août 2010 à 08:53
Bonjour à tous ,

Dans le cadre de mon activité professionnel et n'ayant très peu de connaissances en VB , je compte sur vos connaissances pour m'éclairer.

Mon problème est le suivant:

-à partir de la sélection d'une ligne
-inverser les valeurs des colonnes

Exemple

test forum internet

Résultat:

internet forum test

Merci de votre aide!

5 réponses

cs_akzo Messages postés 133 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 3 janvier 2015 3
22 août 2010 à 22:09
salut,
Valeur= Split("ta cellule", " ")
For x = UBound(valeur) To 0 Step -1
resultat = Trim(resultat & " " & valeur(x))
'affiche ensuite le resultat dans ta cellule
Next x


salutation
1
pgillou Messages postés 49 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 14 octobre 2010 2
23 août 2010 à 08:43
Bonjour AKZO,

Merci pour la rapidité de ta réponse,j'ai besoin de quelques précisions s'il te plait .

La ligne:

resultat = Trim(resultat & " " & valeur(x))

Permet bien l'affichage du résultat ? si oui dans quelle cellule pour
"ta cellule"=A1

Je n'ai pas besoin de préciser la destination?

Bonne journée
1
cs_akzo Messages postés 133 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 3 janvier 2015 3
23 août 2010 à 09:22
salut,
resultat c'est comme une variable,reste a choisir la destination ou tu veux l'afficher mais normalement c'est dans "ta cellule" si j'ai bien compris.
Donc cela devient:

Sub inversement()
valeur = Split("" & Range("A1").Value & "", " ")
For x = UBound(valeur) To 0 Step -1
resultat = Trim(resultat & " " & valeur(x))
Next x
Range("A1") = resultat
End Sub

Maintenant a toi de lister toute tes cases

Bonne continuation
1
pgillou Messages postés 49 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 14 octobre 2010 2
23 août 2010 à 10:15
Re,

Je ne comprend pas tout désolé. L'intérêt est qu'à partir d'une plage du style A1:W1 j'arrive à inverser les valeurs W1 devient A1.

Je n'ai pas bien compris le traitement qu'effectue ton code sur la cellule A1.

Merci de ton aide
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_akzo Messages postés 133 Date d'inscription dimanche 23 juin 2002 Statut Membre Dernière intervention 3 janvier 2015 3
24 août 2010 à 08:53
salut,
Oui,désole j'avais pas saisi ta premiere question
en faite tu veux
---- A ------ B ---- C -----
1....toto.....tata....titi
resultat
1....titi.....tata....toto

alors que moi j'ai fait
----- A --------- B
1.titi tata toto

resultat
----- A --------- B
1.toto tata titi

Sinon pour ton probleme selectionne par couper la derniere colonne que tu inseres en 1 puis selectionne encore la derniere que tu inseres en 2 et ainsi de suite
tu devrais ainsi avoir inverser toute les colonnes.
Exemple:
a b c d
ca donne
couper d et inserer au niveau de a
ca donne
d a b c
couper c (donc toujour la derniere)
et inserer a a(donc toujours a la valeur de depart de A)
ca donne
d c a b
et ainsi de suite

Range("D1").Select
Selection.Cut
Range("A1").Select
Selection.Insert Shift:=xlToRight
Range("D1").Select
Selection.Cut
Range("B1").Select
Selection.Insert Shift:=xlToRight
Range("D1").Select
Selection.Cut
Range("C1").Select
Selection.Insert Shift:=xlToRight
Maintenant a toi de l'automatiser mais voila l'idée pour moi

Salutation
1
Rejoignez-nous