Lister des données

Bonjour,

Mon besoin vise à lister verticalement des données.

Bonjour,

Je comprends que tu veux transformer une plage située en Feuille 1 ... en une seule colonne en Feuille 2 ...

Tu peux, donc, tester le code suivant pour ... Transposer ...

Sub Transp()
  Dim rRow As Range
  Dim nCol As Long
  Dim iOfs As Long
  Application.ScreenUpdating = False
  ' Ajuster la Plage à tes besoins ''''''''''''''''''''''''''''''''''''''''
  With Feuil1.Range("A2:D400")
    nCol = .Columns.Count
    For Each rRow In .Rows
      rRow.Copy
      Feuil2.Range("B2").Offset(iOfs).PasteSpecial Transpose:=True
      iOfs = iOfs + nCol
    Next rRow
  End With  
  Application.ScreenUpdating = True
End Sub

En espèrant que cela t'aide ...

Désolé Nico ...

J'ai répondu à ta question de comment transposer ... avant que tu ne changes le libellé du sujet ...

Désolée James007, c'est ma faute...

Merci quand même !

De rien ...

Etonnant ... tout de même ... pour une situation dont tu disais ... que tu devais l'affronter très souvent ...

Merci James007,

ça marche !

nicopat a écrit :

Merci James007,

ça marche !

Nicole,

Je suis ravi que cela fonctionne ...

Merci pour tes remerciements ...

Par contre, pour le bénéfice des futurs lecteurs ... il faudrait que tu remettes le bon sujet initial ... et le court descriptif de ta question initiale ...

Je déterre ce sujet car je suis en train d'essayer de réutiliser le code ci-dessous dans un autre projet, et lorsque je lance la macro, j'ai un message d'erreur : "Objet requis".

La macro est censée transposer des données figurant dans une plage Feuil1.Range("A2:D400") verticalement dans une autre feuille.

Je ne sais pas ce que je dois faire.

Sub Transp()
  Dim rRow As Range
  Dim nCol As Long
  Dim iOfs As Long
  Application.ScreenUpdating = False
  ' Ajuster la Plage à tes besoins ''''''''''''''''''''''''''''''''''''''''
  With Feuil1.Range("A2:D400")
    nCol = .Columns.Count
    For Each rRow In .Rows
      rRow.Copy
      Feuil2.Range("B2").Offset(iOfs).PasteSpecial Transpose:=True
      iOfs = iOfs + nCol
    Next rRow
  End With  
  Application.ScreenUpdating = True
End Sub

En fait je me rends compte que la macro ci-dessus ne génère pas de message d'erreur. Par contre, aucune donnée n'est collée en Feuil2.

Là déjà : pourquoi aucune donnée collée en Feuil2 ???

En fait, la macro qui génère le message d'erreur "objet requis" est :

Sub Transp()
  Dim rRow As Range
  Dim nCol As Long
  Dim iOfs As Long
  Application.ScreenUpdating = False
  ' Ajuster la Plage à tes besoins ''''''''''''''''''''''''''''''''''''''''
  With DonneesOriginellesPluri.Range("D2:FP2078")
    nCol = .Columns.Count
    For Each rRow In .Rows
      rRow.Copy
      ListePluri.Range("A2").Offset(iOfs).PasteSpecial Transpose:=True
      iOfs = iOfs + nCol
    Next rRow
  End With
  Application.ScreenUpdating = True
End Sub

A priori seules les noms des feuillets et les plages diffèrent. Donc pourquoi le message d'erreur ?

Rechercher des sujets similaires à "lister donnees"