[Excel.VBA]Transformer les colonnes en lignes

Résolu
Bonjour
J'ai une plage de 3 colonnes
SVP Comment transformer ces 3 colonnes en une seule ligne dans une autre feuille.
Merci
http://www.cijoint.fr/cjlink.php?file=cj201012/cijssH97UI.xls

2 réponses

  1. Contributeur
    Bonjour,
    Voir avec "Collage spécial" et le paramètre "Transpose"
    A+
    1. Contributeur
      Bonjour,

      regarde si cette macro te convient:
      Sub transposer_sur1ligne() 
      Dim lig As Integer, cptr As Byte, source As String, cible As String 
      
      Application.ScreenUpdating = False 
      With Sheets("table") 
          lig = .Range("A1000").End(xlUp).Row + 1 
          .Cells(lig, 1) = Format(Sheets("saisie").Range("D1"), "mm/dd/yy") 
          .Cells(lig, 2) = Sheets("saisie").Range("D2") 
      End With 
      
      For cptr = 1 To 9 
      With Sheets("saisie") 
          source = Choose(cptr, "B5:B8", "B10:B15", "B17", "C5:C8", "C10:C15", "C17", "D5:D8", "D10:D15", "D17") 
      End With 
      
      With Sheets("table") 
        cible = Choose(cptr, "C" & lig & ":F" & lig, "G" & lig & ":L" & lig, "M" & lig, _ 
                                               "N" & lig & ":Q" & lig, "R" & lig & ":W" & lig, "X" & lig, _ 
                                               "Y" & lig & ":AB" & lig, "AC" & lig & ":AH" & lig, "AI" & lig) 
                                               
      .Range(cible) = Evaluate("transpose(saisie!" & source & ")") 
      End With 
      Next 
      With Sheets("saisie") 
          .Range("D1:D2").ClearContents 
          .Range("nettoye").ClearContents 
      End With 
      End Sub


      Michel
      Vous programmez en VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...(P. Fauconnier/dvp)
      1. Contributeur
        Heu, j'oubliais !...
        range("nettoye")
        "nettoye" correspond a la plage
        =saisie!$B$5:$D$8;saisie!$B$10:$D$15;saisie!$B$17:$D$17

        demo:
        http://www.cijoint.fr/cjlink.php?file=cj201012/cij5nlZs09.xls
      2. Salut mr Michel ça marche très bien
        Je vous remercier infiniment .