Cherche macro simple

Bonjour forum

Voilà je cherche une petite macro pour comment copier colonne par colonne pour coller dans colonne A tant qu'il y du contenu sur la ligne A à la suite, je met image pour vous montrer.

Merci de vôtre aide

Bonjour,

Formule ou macro : tu n'as pas l'air bien fixé !

En partant de A1, tu sélectionnes autant de lignes que ta plage horizontale compte de colonnes, puis tu tapes la formule :

=TRANSPOSE(taplagehorizontale)

et tu valides par Ctrl+Maj+Entrée (il s'agit d'une formule matricielle) et le résultat s'affiche.

Macro : quelque chose comme :

Sub MacroTranspose()
    MaPlageVerticale.Value = WorksheetFunction.Transpose(MaPlageHorizontale.Value)
End Sub

Remplacer MaPlageVerticale et MaPlageHorizontale par les définition de plages (la première ayant le même nombre de lignes que la seconde à de colonnes).

Par Copier-Coller :

Tu sélectionnes ta plage horzontale et la copies. Tu te positionnes en A1. Tu fais Coller > Collage spécial, et tu coches Transposé. Puis tu valides... (Cela fait partie des commandes de base d'Excel !)

Cordialement.

Bonjour MFerrand,

moi qui aller demander si c'était pour le faire une fois ou plusieurs fois...

@ bientôt

LouReeD

Merci je suis novice alors j'ai pas tout compris sinon c'est bien macro je met le fichier exemple il y a déjà une macro qui converti les points virgule pour trier chaque colonne

7exemple.zip (13.48 Ko)

Bonjour,

tu cherches une formule simple dans le titre et une macro dans le texte.

en A2 :

=DECALER(A$1;;LIGNES($2:2))&""

@ tirer vers le bas

@ + +

Bonjour,

Donc avec une macro :

Sub Test()

    Dim Plage As Range

    With ActiveSheet

        Set Plage = .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft))
        .Range("A1:A" & Plage.Count) = Application.Transpose(Plage)

    End With

End Sub

AH bah ça c'est nickel comme macro merci et ce serais possible de faire pareil pour avoir macro pour convertir avec le point virgule tout la cellule A1 ? J'ai enregistrer macro mais bon ça me parait long comme macro y a surement plus simple que ça

Sub Macro1()

    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
        ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
        (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
        Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
        33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
        Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _
        46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), _
        Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array( _
        59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), _
        Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), Array(70, 1), Array(71, 1), Array( _
        72, 1), Array(73, 1), Array(74, 1), Array(75, 1), Array(76, 1), Array(77, 1), Array(78, 1), _
        Array(79, 1), Array(80, 1), Array(81, 1), Array(82, 1), Array(83, 1), Array(84, 1), Array( _
        85, 1), Array(86, 1), Array(87, 1), Array(88, 1), Array(89, 1), Array(90, 1), Array(91, 1), _
        Array(92, 1), Array(93, 1), Array(94, 1), Array(95, 1), Array(96, 1), Array(97, 1), Array( _
        98, 1), Array(99, 1), Array(100, 1), Array(101, 1), Array(102, 1), Array(103, 1), Array(104 _
        , 1), Array(105, 1), Array(106, 1), Array(107, 1), Array(108, 1), Array(109, 1), Array(110, _
        1), Array(111, 1), Array(112, 1), Array(113, 1), Array(114, 1), Array(115, 1), Array(116, 1 _
        ), Array(117, 1), Array(118, 1), Array(119, 1), Array(120, 1), Array(121, 1), Array(122, 1) _
        , Array(123, 1), Array(124, 1), Array(125, 1), Array(126, 1), Array(127, 1), Array(128, 1), _
        Array(129, 1), Array(130, 1), Array(131, 1), Array(132, 1)), TrailingMinusNumbers:= _
        True

End Sub

Bonjour,

Un exemple VBA sans définir de plage.

Cdlt.

Public Sub TEST()
Dim lastCol As Long
    With ActiveSheet
        lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
        .Cells(1).Resize(lastCol) = Application.Transpose(.Cells(1).Resize(, lastCol))
    End With
End Sub

OK merci j'ai essayé je pensais que c'était la macro pour convertir mais non ça m'efface tous en A1 alors je comprenais pas j'ai pas bien lu

Ce que je voudrais maintenant si possible une macro pour convertir la cellule A1 quant on a tous dedans avec le point virgule comme séparateur de colonne j'ai mis macro manuel mais c'est pas top

Bon bah merci a tous je crois que je vais me contenter de tous ce beau contenu merci a tous en tous cas

Désolé mais j'ai un peu de mal à te suivre !

Maintenant, tes valeurs se trouvent toutes en A1 séparées par des point-virgules ? Si c'est le cas, teste ceci pour voir si ça te convient :

Sub Test()

    Range("A1:A" & UBound(Split(Range("A1"), ";"))) = Application.Transpose(Split(Range("A1"), ";"))

End Sub

OK merci a toi Theze j'ai essayé ça split bien les point virgule nickel ça sera la première macro qui sera exécutée et la 2ème ensuite merci a tous

Rechercher des sujets similaires à "cherche macro simple"