Inversion de colonne VBA

Résolu/Fermé
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019 - 16 oct. 2015 à 11:43
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019 - 19 oct. 2015 à 11:04
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 :)
A voir également:

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
2
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019
16 oct. 2015 à 12:11
Merci pour ta réponse je les reproduite et ca marche :)
je choisi ta méthode je la trouve plus simple

Merci à vous Bonne journée :)
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
16 oct. 2015 à 11:52
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
1
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 854
Modifié par diablo13800 le 16/10/2015 à 11:58
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.
0
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019
16 oct. 2015 à 12:09
Merci pour ta réponse :)
Tu as été claire j'ai compris et reproduit sur mon tableau !

Apres j'ai ausi reproduit la méthode de Maurice et je la trouve plus simple :)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
16 oct. 2015 à 12:11
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

0
texastina Messages postés 52 Date d'inscription jeudi 15 janvier 2015 Statut Membre Dernière intervention 12 juin 2019
19 oct. 2015 à 11:04
Bonjour Mchel
Merci pour ta réponse cela fonctionne aussi :)
0