Macro qui transpose un tableau
Utilisateur anonyme
-
pilas31 Messages postés 1878 Statut Contributeur -
pilas31 Messages postés 1878 Statut Contributeur -
Bonjour,
je suis une vraie débutante en macro dans excel.
j'ai le tableau suivant :
test 1 test 2 ................................... test 12
personne testée 1 51 26 47
personne testée 2 22 104 17
personne testée 3 74 20 61
personne testée 4 60 93 54
je dois faire une macro me permettant de mettre les lignes a la place des colonnes et les colonnes a la place des lignes (transposée).
et j'y arrive pas, est ce que qn pourrait m'aider?
merci d'avance
je suis une vraie débutante en macro dans excel.
j'ai le tableau suivant :
test 1 test 2 ................................... test 12
personne testée 1 51 26 47
personne testée 2 22 104 17
personne testée 3 74 20 61
personne testée 4 60 93 54
je dois faire une macro me permettant de mettre les lignes a la place des colonnes et les colonnes a la place des lignes (transposée).
et j'y arrive pas, est ce que qn pourrait m'aider?
merci d'avance
A voir également:
- Macro qui transpose un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
4 réponses
Sub TRANSPOSITION()
Range("A1:M20").Select
Selection.Copy
Sheets("Feuil2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, TRANSPOSE:=True
End Sub
Il s'agit d'une copie suivie d'un collage spécial transposé.
Pas vérifié, mais ça ne devrait pas marcher, le copiage spécial ne pouvant pas se faire sur partie de la zone copiée. Je pense qu'il faut un peu chiader en collant hors de la zone, puis en supprimant ensuite la zone copiée. Cela se fait facilement par enregistrement automatique …
Bonjour,
Voici un exemple de macro qui copie la plage A1:M20 de la feuille courante et colle la transposée dans la feuille "Feuil2" :
A+
Voici un exemple de macro qui copie la plage A1:M20 de la feuille courante et colle la transposée dans la feuille "Feuil2" :
Sub TRANSPOSITION()
Range("A1:M20").Select
Selection.Copy
Sheets("Feuil2").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, TRANSPOSE:=True
End Sub
A+
Bonjour,
moi, j'ai un souci avec ce code, c'est que VBA ne valide pas mon code
Operation:=x1None, il me dit Erreur de compilation et attendu expression
voici mon code :
Sub transpose_dans_tableau()
Sheets("Formulaire").Select
Range("B2:B28").Select
Selections.Copy
Sheets("Bases de données").Select
valeurA3 = Range("A3").Value
If valeurA3 = "" Then
Range("A3").Select
Else
Range("A2").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base).Select
Selection.PasteSpecialPaste = x1PasteallExceptBorders
Operation:=x1None,SkipBlanks:=False, TRANSPOSE:=True
Sheets("Formulaire").Select
Range("B2:B28").Select
Selection.ClearContents
Range("B2").Select
Sheets("Bases de données").Select
Range("A2").Select
End Sub
Aidez moi
moi, j'ai un souci avec ce code, c'est que VBA ne valide pas mon code
Operation:=x1None, il me dit Erreur de compilation et attendu expression
voici mon code :
Sub transpose_dans_tableau()
Sheets("Formulaire").Select
Range("B2:B28").Select
Selections.Copy
Sheets("Bases de données").Select
valeurA3 = Range("A3").Value
If valeurA3 = "" Then
Range("A3").Select
Else
Range("A2").Select
Selection.End(x1Down).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base).Select
Selection.PasteSpecialPaste = x1PasteallExceptBorders
Operation:=x1None,SkipBlanks:=False, TRANSPOSE:=True
Sheets("Formulaire").Select
Range("B2:B28").Select
Selection.ClearContents
Range("B2").Select
Sheets("Bases de données").Select
Range("A2").Select
End Sub
Aidez moi
Bonjour,
J'ai relevé quelques erreurs de syntaxe.
Attention les constantes Excel commencent par xl... la lettre L pas le chiffre 1
Ensuite dans la ligne en erreur il manque un espace entre PasteSpecial et Paste et des virgules et := à la place de =
Enfin, quand la ligne est trop longue en VBA on peut continuer l'instruction sur la ligne suivante mais en finissant la ligne précédente par Espace souligné ( _)
Voila un code qui est syntaxiquement correct (je n'ai analysé que la syntaxe pas le contenu)
A+
J'ai relevé quelques erreurs de syntaxe.
Attention les constantes Excel commencent par xl... la lettre L pas le chiffre 1
Ensuite dans la ligne en erreur il manque un espace entre PasteSpecial et Paste et des virgules et := à la place de =
Enfin, quand la ligne est trop longue en VBA on peut continuer l'instruction sur la ligne suivante mais en finissant la ligne précédente par Espace souligné ( _)
Voila un code qui est syntaxiquement correct (je n'ai analysé que la syntaxe pas le contenu)
Sub transpose_dans_tableau()
Sheets("Formulaire").Select
Range("B2:B28").Select
Selection.Copy
Sheets("Bases de données").Select
valeurA3 = Range("A3").Value
If valeurA3 = "" Then
Range("A3").Select
Else
Range("A2").Select
Selection.End(xlDown).Select
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base + 1).Select
End If
ligne_active_base = ActiveCell.Row
Range("A" & ligne_active_base).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Sheets("Formulaire").Select
Range("B2:B28").Select
Selection.ClearContents
Range("B2").Select
Sheets("Bases de données").Select
Range("A2").Select
End Sub
A+
Oui, tu as raison on ne peux pas copier et coller sur la même zone c'est pour celà que j'ai proposé dans mon post de copier depuis la feuille courante et de coller dans une autre feuille .
A+
Cordialement,