XLS 2007- copier chaque colonne sur une feuille

pael

XLDnaute Nouveau
Bonjour,
J’ai sur ma Feuille1 plusieurs colonnes prenant des valeurs (la taille de chaque colonne est différente).
Je souhaite copier chaque colonne sur une feuille distincte !!!

Je sais que je dois utiliser
Range("???", "????").Copy Sheets("Feuil ???").Range("???" & 1)

Mon problème c'est que je ne sais pas définir le fait que chaque colonne à une taille différente, et que je ne connais pas la syntaxe pour incrémenter "feuil"

Quelqu'un peut-il me donner de l'aide?

Merci d'avance !!!
 

Etienne2323

XLDnaute Impliqué
Re : XLS 2007- copier chaque colonne sur une feuille

Salut pael,
sans plus d'information, c'est certain que l'exemple suivant est un exemple à tâton. Il prend en considérations plusieurs hypothèses (le nom des feuilles est Feuil1, Feuil2, etc...). Il faut également ajouter un onglet nommé "Données" qui comprend tes données initiales. En espérant que cela puisse t'aider.

Code:
Sub test()

Dim DerniereColonne As Byte, i As Byte
Dim FEUILLE_DONNEES As String

Application.ScreenUpdating = False

FEUILLE_DONNEES = "Données"

Sheets(FEUILLE_DONNEES).Select
DerniereColonne = Cells(1, 256).End(xlToLeft).Column

For i = 1 To DerniereColonne
    Sheets(FEUILLE_DONNEES).Select
    Cells(1, i).EntireColumn.Copy
    Sheets("Feuil" & i).Select
    Cells(1, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.Goto Range("A1"), True
Next i

End Sub

Cordialement,

Étienne
 

Etienne2323

XLDnaute Impliqué
Re : XLS 2007- copier chaque colonne sur une feuille

Salut pael,
tu peux alors essayer quelque chose comme ceci.

Code:
Sub test()

Dim DerniereColonne As Byte, i As Byte
Dim FEUILLE_DONNEES As String
Dim Sheet As Worksheet

Application.ScreenUpdating = False
Application.DisplayAlerts = False

FEUILLE_DONNEES = "Données"

For Each Sheet In Sheets
    If Sheet.Name <> FEUILLE_DONNEES Then
        Sheet.Delete
    End If
Next Sheet

Sheets(FEUILLE_DONNEES).Select
DerniereColonne = Cells(1, 256).End(xlToLeft).Column

For i = 1 To DerniereColonne
    Sheets.Add after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "Feuil" & i
    Sheets(FEUILLE_DONNEES).Select
    Cells(1, i).EntireColumn.Copy
    Sheets("Feuil" & i).Select
    Cells(1, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.Goto Range("A1"), True
Next i

Application.DisplayAlerts = True

End Sub

Cordialement,

Étienne
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia