Colonne vers ligne : de 4 en 4...

  • Initiateur de la discussion Initiateur de la discussion will
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

will

Guest
Bonjour le forum,

alors j'ai une base de données mais elle se trouve sur une seule colonne et je voudrai la transformer en une succession de ligne pour avoir une base de données normale.

En fait disons que j'ai des données dans A1 A2 A3 A4 et que je les voudrai dans A1 B1 C1 D1
puis j'ai des données dans A5 A6 A7 A8 et que je les voudrai dans A2 B2 C2 D2
et ainsi de suite de 4 en 4...

est ce possible? je ne vois pas trop comment passer de 4 en 4...

merci si quelqu'un peut m'aider ca me serait vraiment utile parce que deplacer des cellules manuellement c ch... 🙂)

je paye ma tournée si on arrive a m'aider ;-)

a +
will
 
Bonjour,

Tu ne vas pas démarrer en A1, car tu as des données en A1.

Si tu démarres en B1, formule en B1, à copier-coller vers le droite et vers le bas :
=DECALER($A$1;MOD(LIGNE()-LIGNE($B$1);80000)*4+COLONNE()-COLONNE($B$1)😉
ou bien :
=DECALER($A$1;MOD(LIGNE()-LIGNE($B$1);80000)*4+COLONNE()-COLONNE($B$1);0)

Si tu démarres en C9 :
=DECALER($A$1;MOD(LIGNE()-LIGNE($C$9);80000)*4+COLONNE()-COLONNE($C$9)😉
ou bien :
=DECALER($A$1;MOD(LIGNE()-LIGNE($C$9);80000)*4+COLONNE()-COLONNE($C$9);0)
(le nombre 80000, c'est simplement un grand multiple de 4, grand au cas où tu aurais beaucoup de lignes)
 
bonjour monique,

merci de ta reponse mais je comprend pas bien comment marche cette formule...???

Je comprend la formule mais je ne vois pas bien comment l'appliquer en fait?


merci de me preciser ta pensée.
a +
will
 
Salut Will

esaies ce code

Sub modif()

Dim lig as integer
dim col as integer

lig = 1
col = 2

For x = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
Sheets("Feuil1").Cells(lig, col) = Sheets("Feuil1").Range("A" & x)
Sheets("Feuil1").Range("A" & x).ClearContents
col = col + 1
If col = 5 Then
col = 1
lig = lig + 1
End If
Next

End Sub


Bon courage

Pascal
 
Re Monique et Pascal !!!

merci beaucoup a vous deux ca marche bien !!!! les deux solutions sont cool.

Excel quand tu nous tiens...!!! lol

Vous imaginez pas comme ca m'aide!

A bientot et des que je pourrai aider des gens comme vous le faites je le ferai!

Will
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
169
Réponses
5
Affichages
429
Réponses
3
Affichages
368
Retour