copier colonne vers une autre feuille

  • Initiateur de la discussion Initiateur de la discussion kingjon
  • 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 !

K

kingjon

Guest
Bonjour à tous, je suis bloqué dans la réalisation de mon projet, j'aimerais obtenir de l'aide...
J'ai un nombre x qui varie selon un chiffre, de colonne, ainsi chaque colonne est composer de nom.
J'aimerais que pour chaque colonne composer de lignes avec des noms, qu'elle soit envoyer vers une nouvelle feuille.
en gros créer une feuille pour chaque colonne ainsi que ces valeurs, est ce possible ?
Merci de votre aide
Jonas
 
Re : copier colonne vers une autre feuille

Bonjour Jonas, bonjour le forum,

Essaie comme ça :

Code:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 2) 'boule sur toutes les colonnes I du tableau des valeurs TV
    Sheets.Add after:=Sheets(Sheets.Count) 'ajoute un onglet a la fin
    ActiveSheet.Name = "Colonne " & I 'renomme l'onglet
    'renvoie dans la cellule A1 de l'onglet la colonne correspondante du tableau des valeurs TV
    ActiveSheet.Range("A1").Resize(UBound(TV, 2), 1).Value = Application.Transpose(Application.Index(TV, , I))
Next I 'prochaine colonne de la boucle
End Sub
 
Re : copier colonne vers une autre feuille

Merci beaucoup pour ta réponse, en effet après avoir essayer il creer bien un nombre x de pages qui represente le nombre de cellules cependant dans ces pages la valeur represente seulement la premiere cellule de la colonne et non le contenu de chaque colonne d'autant plus que mes colonne ont un "titre",
exemple de colonne :

Poule1
equipe1
equipe2
equipe3

avec ton bout de code, il renvoie dans chaque page
Poule1 3x de suite

Je te donne un exemple en pièce jointe
 

Pièces jointes

Dernière modification par un modérateur:
Re : copier colonne vers une autre feuille

Re,

Désolé Jonas, pourtant j'avais testé avant de t'envoyer...
Le code modifié (qui marche...) :

Code:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 2) 'boule sur toutes les colonnes I du tableau des valeurs TV
    Sheets.Add after:=Sheets(Sheets.Count) 'ajoute un onglet a la fin
    ActiveSheet.Name = "Colonne " & I 'renomme l'onglet
    'renvoie dans la cellule A1 de l'onglet la colonne correspondante du tableau des valeurs TV
    ActiveSheet.Range("A1").Resize(UBound(TV, 1), 1).Value = Application.Index(TV, , I)
Next I 'prochaine colonne de la boucle
End Sub
 
Re : copier colonne vers une autre feuille

Re,

Deux manières (parmi tant d'autres) :

Code:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 2) 'boule sur toutes les colonnes I du tableau des valeurs TV
    Sheets.Add after:=Sheets(Sheets.Count) 'ajoute un onglet a la fin
    ActiveSheet.Name = "Colonne " & I 'renomme l'onglet
    'renvoie dans la cellule A1 de l'onglet la colonne correspondante du tableau des valeurs TV
    ActiveSheet.Range("A1").Resize(UBound(TV, 1), 1).Value = Application.Index(TV, , I)
    ActiveSheet.Rows(1).delete 'Supprime la ligne 1
Next I 'prochaine colonne de la boucle
End Sub
ou :
Code:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 1 To UBound(TV, 2) 'boule sur toutes les colonnes I du tableau des valeurs TV
    Sheets.Add after:=Sheets(Sheets.Count) 'ajoute un onglet a la fin
    ActiveSheet.Name = "Colonne " & I 'renomme l'onglet
    'renvoie dans la cellule A1 de l'onglet la colonne correspondante du tableau des valeurs TV
    O.Range(O.Cells(2, I), O.Cells(Application.Rows.Count, I).End(xlUp)).Copy ActiveSheet.Range("A1") 'copy les données de la colonne I et les colles dans A1
Next I 'prochaine colonne de la boucle
End Sub
 
- 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