OVH Cloud OVH Cloud

Déplacement de colonnes

2 réponses
Avatar
Luc Grangier
Bonjour,

J'aimerais exécuter une macro pour déplacer le contenu de plusieurs colonnes
(A: n colonnes) en une seule colonne. Le "n" en minuscule correspond à un
nombre variable de colonnes.
Je m'explique:
Situation initiale: j'ai un feuille excel avec "n" colonnes ( A: n colonnes)
et 12 lignes de données (A1:A12 jusqu'à n1:n12). Ce nombre est fixe.

Situation finale: j'aimerais une seule colonne, avec dans les 12 premières
lignes (A1:A12)les données de la colonnne A de la situation initiale, puis 1
cellule vide (A13), puis le contenu de la colonne B de la situation initiale
en (A14:A25), puis 1 cellule vide (A26), puis le contenu de la colonne C de
la situation initiale en (A27:A38), etc etc

J'espère avoir été assez clair.

Merci d'avance

2 réponses

Avatar
Céline
bonjour,
voici ma proposition de macro :

Sub mamacro()

Dim i, j As Integer
i = 2

Do Until Cells(1, i) = ""
Range(Cells(1, i), Cells(12, i)).Cut
j = (i - 1) * 12
Cells(1 + j, 1).Select
ActiveSheet.Paste
i = i + 1
Loop

End Sub

Remarque : il faut que au moins la premiere ligne de chaque colonne
contienne une valeur jusqu'à n
sinon il faudra développer une solution alternative pour trouver la
dernière colonne
ce n'est peut-être pas le plus simple, mais j'espère que ça vous
convient
Bonne journée
Céline



Bonjour,

J'aimerais exécuter une macro pour déplacer le contenu de plusieurs c olonnes
(A: n colonnes) en une seule colonne. Le "n" en minuscule correspond à un
nombre variable de colonnes.
Je m'explique:
Situation initiale: j'ai un feuille excel avec "n" colonnes ( A: n colonn es)
et 12 lignes de données (A1:A12 jusqu'à n1:n12). Ce nombre est fixe.

Situation finale: j'aimerais une seule colonne, avec dans les 12 premiè res
lignes (A1:A12)les données de la colonnne A de la situation initiale, p uis 1
cellule vide (A13), puis le contenu de la colonne B de la situation initi ale
en (A14:A25), puis 1 cellule vide (A26), puis le contenu de la colonne C de
la situation initiale en (A27:A38), etc etc

J'espère avoir été assez clair.

Merci d'avance


Avatar
Luc Grangier
Merci c'est parfait!
J'ai juste modifier la macro en tenant compte d'une treizième ligne vide,
car votre code ne faisait pas d'espace entre les blocs de 12 lignes.


bonjour,
voici ma proposition de macro :

Sub mamacro()

Dim i, j As Integer
i = 2

Do Until Cells(1, i) = ""
Range(Cells(1, i), Cells(12, i)).Cut
j = (i - 1) * 12
Cells(1 + j, 1).Select
ActiveSheet.Paste
i = i + 1
Loop

End Sub

Remarque : il faut que au moins la premiere ligne de chaque colonne
contienne une valeur jusqu'à n
sinon il faudra développer une solution alternative pour trouver la
dernière colonne
ce n'est peut-être pas le plus simple, mais j'espère que ça vous
convient
Bonne journée
Céline



Bonjour,

J'aimerais exécuter une macro pour déplacer le contenu de plusieurs colonnes
(A: n colonnes) en une seule colonne. Le "n" en minuscule correspond à un
nombre variable de colonnes.
Je m'explique:
Situation initiale: j'ai un feuille excel avec "n" colonnes ( A: n colonnes)
et 12 lignes de données (A1:A12 jusqu'à n1:n12). Ce nombre est fixe.

Situation finale: j'aimerais une seule colonne, avec dans les 12 premières
lignes (A1:A12)les données de la colonnne A de la situation initiale, puis 1
cellule vide (A13), puis le contenu de la colonne B de la situation initiale
en (A14:A25), puis 1 cellule vide (A26), puis le contenu de la colonne C de
la situation initiale en (A27:A38), etc etc

J'espère avoir été assez clair.

Merci d'avance