Correction de macro

Bonjour j'essaye de progresser dans l'utilisation du langage VBA et j'ai besoin d'un peu d'aide pour corriger une macro.

J essaye de réaliser une macro qui puisse intervertir les lignes et colonnes d'un tableau:

On pourrait entrer les coordonnées des lignes et colonnes via inputbox (si vous savez faire autrement avec des fonctions pas trop compliqué genre en utilisant la variable qui désigne la derniere cellule non vide par exemple...)

Dim ligne as Range

Dim colonne as Range

Dim m As Variant

Dim n As Variant

Dim i As Variant

Dim j As Variant

m = InputBox(" cellule 1 ere ligne tableau")

n = InputBox(" cellule derniere ligne tableau")

i = InputBox("cellule 1 ere colonne tableau")

j = InputBox(" cellule derniere colonne tableau")

Range("m:n").Value = ligne

Range("i:j").Value = colonne

ligne = Range("i:j").Value

colonne = Range("m:n").Value

J'ai pas réussi à faire marcher ça merci de votre aide

Bonjour et bienvenue sur le forum

Tu devrais joindre un fichier en montrant ton tableau de départ et ce que tu veux obtenir.

Bye !

Bonsoir,

Pour inverser lignes et colonnes d'un tableau dont la cellule supérieure gauche est A1 (on va pas se compliquer inutilement ! ). Le tableau inversé est positionné au même niveau en laissant une colonne vide entre les deux tableaux...

Sub InversionTableau()
    Dim i%, im%, k%, km%, Ta, Tb()
    With ActiveSheet
        im = .Cells(.Rows.Count, 1).End(xlUp).Row
        km = .Cells(1, .Columns.Count).End(xlToLeft).Column
        Ta = .Range("A1").Resize(im, km).Value
    End With
    ReDim Tb(im - 1, km - 1)
    For i = 1 To im
        For k = 1 To km
            Tb(im - i, km - k) = Ta(i, k)
        Next k
    Next i
    ActiveSheet.Cells(1, km + 2).Resize(im, km).Value = Tb
End Sub

Cordialement.

Rechercher des sujets similaires à "correction macro"