pgillou
Messages postés49Date d'inscriptionlundi 23 août 2010StatutMembreDernière intervention14 octobre 2010
-
22 août 2010 à 13:39
cs_akzo
Messages postés133Date d'inscriptiondimanche 23 juin 2002StatutMembreDerniè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
cs_akzo
Messages postés133Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 3 janvier 20153 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
cs_akzo
Messages postés133Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 3 janvier 20153 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
cs_akzo
Messages postés133Date d'inscriptiondimanche 23 juin 2002StatutMembreDernière intervention 3 janvier 20153 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