XLS 2007- copier chaque colonne sur une feuille

  • Initiateur de la discussion Initiateur de la discussion pael
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pael

Guest
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 !!!
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour