Macro qui transpose un tableau
Fermé
Utilisateur anonyme
-
9 mars 2009 à 19:53
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 26 août 2009 à 17:21
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 26 août 2009 à 17:21
A voir également:
- Macro qui transpose un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Trier un tableau excel - Guide
4 réponses
arrial
Messages postés
1753
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
29 décembre 2023
251
14 mars 2009 à 10:31
14 mars 2009 à 10:31
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 …
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
10 mars 2009 à 00:07
10 mars 2009 à 00:07
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
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
31 juil. 2009 à 14:59
31 juil. 2009 à 14:59
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+
j'ai été un peu long, ta syntaxe m'a l'air pas mal, mais maintenant, il me mets un pop-up avec écrit dessus 400.
d'où peut bien venir l'erreur.
d'où peut bien venir l'erreur.
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
26 août 2009 à 17:21
26 août 2009 à 17:21
Bonjour,
C'est curieux car je viens de retester mon code, il fonctionne.
Qu'elle est la ligne qui pose problème ?
A+
C'est curieux car je viens de retester mon code, il fonctionne.
Qu'elle est la ligne qui pose problème ?
A+
14 mars 2009 à 16:30
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,