Pour compléter l'abondance de solution, une autre solution, en utilisant la fonction Transpose
Code:
Sub Transposer()
Dim I As Byte
For I = 3 To 14
Range(Cells(I, I), Cells(I, 13)).Value = Application.Transpose(Range(Cells(I + 1, I - 1), Cells(14, I - 1)))
Next I
End Sub
Tout d'abord un grand merci à tous pour votre travail efficace et rapide !!!!
Excel-lent :
Effectivement l'approche est bonne et le résultat correct. C'est celle que j'avais trouvée par l'utilisation des macros automatiques. Malheureusement, le tableau réel qui contient mes informations à plus de 150 lignes et 150 colonnes. Cette solution peut difficilement être retenue.
Je n'arrivais pas à écrire une boucle pour simplifier cette macro.
CBernardT :
Ta solution fonctionne très bien et a le mérite de tenir compte d'un tableau qui peut évoluer dans le temps sur le nombre de lignes et de colonnes. C'est mon cas.
J'ai cependant taillé mon tableau de façon très large.
Spitnolan08 :
Solution 1 : elle fonctionne la 1ère fois mais la 2ème fois cela ne va plus.
Si en B6, je porte la valeur 999 et que je relance la macro alors que le tableau est rempli, elle modifie mes données de base.
Solution 2 : elle tourne impécablement !
JeanMarie :
Encore une solution qui tourne et qui va dans le sens de ce que j'essayais de programmer sans y arriver ! Elle a le mérite d'être concise et facile à lire.
Je vais me laisser tenter par ta proposition
A tous, ne soyez pas déçu les uns ou les autres si je ne prends pas votre solution mais il fallait bien que j'en choisisse une. Encore une fois un GRAND MERCI pour tout le monde !!!