transposition automatique

pompon38

XLDnaute Nouveau
J'aimerais savoir comment transposer un tableau, d'une feuille vers une autre, sans devoir intervenir manuellement: bref automatiser l'action. C'est pour que la personne qui va employer le tableau ne doive pas intervenir: automatiser la fonction, l'opération: macro automatique (mais laquelle) ou bouton ou ......;
Merci d'y penser
 

Tibo

XLDnaute Barbatruc
Re : transposition automatique

Bonjour Pompon,

pompon38 à dit:
Merci d'y penser

Ben oui, on y pense...

Le souci, c'est qu'il faudrait en savoir un peu plus.

Comment se présente ton tableau ?

A-t-il toujours le même nombre de lignes et colonnes ?

Sinon, il existe une fonction matricielle TRANSPOSE

Avec un petit fichier exemple, on sera sans doute en mesure de t'aider davantage.

@+
 

pompon38

XLDnaute Nouveau
Re : transposition automatique

Ben en réalité c'est un tableau avac plus de colonnes que de lignes (environ 35 colonnes pour 30 lignes) c'est un tableau de résultats de catations scolaires qui doivent être transposées "automatique" sur une autre fauille avant d'aller dans une mise en forme de bulletin. Donc il faut sélectionner le tableau, le copier puis le transposer sur une autre feuille. Une macro peut probablement le faire mais je ne sais comment l'écrire.
 

BioTop

XLDnaute Nouveau
Re : transposition automatique

Voici deux macros inverses, qui s'ajustent à la plage effectivement utilisée des deux feuilles...

Ce que je cherche à faire maintenant c'est à automatiser le lancement...

Sub PArOutils()
'
' Transposition Macro
' Macro enregistrée le 18/09/2007 par a17188
'
' Touche de raccourci du clavier: Ctrl+Maj+T
'
Sheets("Par Caractéristique").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Par Outil").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ColumnWidth = 60
Application.CutCopyMode = False
With Selection
.WrapText = True
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ActiveWindow.SmallScroll Down:=-15
End Sub
Sub PArCaract()
'
' Transposition Macro
' Macro enregistrée le 18/09/2007 par a17188
'
' Touche de raccourci du clavier:
'
Sheets("Par Outil").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Par Caractéristique").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Columns("A:A").Select
Range(Selection, Selection.End(xlToRight)).Select
With Selection
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.EntireColumn.AutoFit
Application.CutCopyMode = False

ActiveWindow.SmallScroll Down:=-15
End Sub
 

fred65200

XLDnaute Impliqué
Re : transposition automatique

Bonjour,
J'ai essayé (et allégé) votre macro ParOutils() à laquelle vous avez assigné un raccourci clavier (Ctrl + Maj + T)

Il suffit de faire ctrl + shift + T pour que la macro se déroule


Code:
Sub ParOutils()
'
' ParOutils Macro
'
' Touche de raccourci du clavier: [B]Ctrl+Maj+T[/B]
Sheets("Par Caractéristique").Range("A1").CurrentRegion.Copy
With Sheets("Par Outil")
  .Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True
  .Columns.AutoFit
  .Columns(2).ColumnWidth = 60
End With

End Sub

Vous n'êtes pas obligé de sélectionner les feuilles, les cellules etc. pour agir dessus
 

Discussions similaires

Statistiques des forums

Discussions
312 371
Messages
2 087 697
Membres
103 644
dernier inscrit
bsalah