Inversion de colonne VBA
Résolu
texastina
Messages postés
55
Statut
Membre
-
texastina Messages postés 55 Statut Membre -
texastina Messages postés 55 Statut Membre -
Bonjour,
Je voudrai savoir si il était possible d'inverser le contenu de plusieurs colonnes gràce au vba ?
Ex : Colonne D ==> Colonne B
Colonne B ==> Colonne C
Colonne C ==> Colonne D
J'espere avoir été assé claire :)
Merci pour vos réponse :)
Je voudrai savoir si il était possible d'inverser le contenu de plusieurs colonnes gràce au vba ?
Ex : Colonne D ==> Colonne B
Colonne B ==> Colonne C
Colonne C ==> Colonne D
J'espere avoir été assé claire :)
Merci pour vos réponse :)
4 réponses
-
Bonjour
Moi je prefere deplacer la colonne
example:Sub DeplaceCol() Columns(4).Cut Columns(2).Insert Shift:=xlToRight Range("A1").Select End Sub
A+
Maurice -
Bonjour,
Oui, c'est possible. Tu peux même te limiter au premier déplacement :colonne D devant colonne B.
Les autres colonnes seront automatiquement à la bonne place.
Si au delà de ta question tu souhaites savoir comment faire, utilises l'enregistreur de macro et tu auras le code.
Cordialement -
Bonjour,
Oui cela est possible grâce a la suite de commande copy et paste
Dans ton cas:dim exemple as Range // Déclaration de ton champs d'action exemple = Range("A1;E600) // Selection d'une range large, a adapter suivant la Longueur de tes colonnes. exemple.Column(4).select // Selectionne la colonne D Selection.copy //Copie de la Colonne selectionner exemple.Column(5).select //Selectionne la Colonne E ActiveSheet.Paste // Colle ce qui est copier dans la colonne selectionnée
J'espère avoir été assez claire , a faire suivant ton désir:)
Tiens moi au courant si il y a un truc que tu ne comprend pas. -
bonjour
essaies:
Option Explicit
'------------------
Sub bcd_cdb()
Dim Derlig As Integer, T_in, T_out, cptr As Integer
Application.ScreenUpdating = False
Derlig = Cells.Find(what:="*", searchdirection:=xlPrevious).Row
T_in = Range("B1:D" & Derlig)
ReDim T_out(1 To Derlig, 1 To 3)
For cptr = 1 To UBound(T_in)
T_out(cptr, 1) = T_in(cptr, 3) '
T_out(cptr, 2) = T_in(cptr, 1) '
T_out(cptr, 3) = T_in(cptr, 2) '
Next
Range("B1").Resize(UBound(T_in), 3) = T_out
End Sub