A partir d'un tableau d'une quarantaine de lignes, mais de trois col + 150
col baptisées au nom des élèves.
Je fais autant de copies que d'élèves et je baptise la feuille du nom de
l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne correspondant
pas aux titres des col "Num", "Matières", "Paragraphes" (soit les 3
premières du tableau) ET celle du nom de la feuille (soit Elèv1, puis
Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes les
col dont le titre est différent du nom de la feuille (nom de l'élève).
De cette manière, chaque élève aura sa feuille.....
Un grand merci et bon WE à tous et tousses.
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
Bonjour. Cette manière de faire est valable si tu as d'autres données sur la feuille, sinon, il est plus rapide de recopier, pour chaque feuille les trois premières colonnes et la colonne de l'élève. Essaie :
Sub test() Application.ScreenUpdating = False With Sheets("Feuil1") For i = 4 To .[IV1].End(xlToLeft).Column .Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Cells(1, i) For x = [IV1].End(xlToLeft).Column To 4 Step -1 If Cells(1, x) <> Cells(1, i) Then Columns(x).Delete Next x Next i End With Application.ScreenUpdating = True End Sub
Cordialement. Daniel
Bonjour
A partir d'un tableau d'une quarantaine de lignes, mais de trois col + 150 col baptisées au nom des élèves. Je fais autant de copies que d'élèves et je baptise la feuille du nom de l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne correspondant pas aux titres des col "Num", "Matières", "Paragraphes" (soit les 3 premières du tableau) ET celle du nom de la feuille (soit Elèv1, puis Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes les col dont le titre est différent du nom de la feuille (nom de l'élève).
De cette manière, chaque élève aura sa feuille..... Un grand merci et bon WE à tous et tousses.
Bonjour.
Cette manière de faire est valable si tu as d'autres données sur la
feuille, sinon, il est plus rapide de recopier, pour chaque feuille les
trois premières colonnes et la colonne de l'élève.
Essaie :
Sub test()
Application.ScreenUpdating = False
With Sheets("Feuil1")
For i = 4 To .[IV1].End(xlToLeft).Column
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Cells(1, i)
For x = [IV1].End(xlToLeft).Column To 4 Step -1
If Cells(1, x) <> Cells(1, i) Then Columns(x).Delete
Next x
Next i
End With
Application.ScreenUpdating = True
End Sub
Cordialement.
Daniel
Bonjour
A partir d'un tableau d'une quarantaine de lignes, mais de trois col + 150
col baptisées au nom des élèves.
Je fais autant de copies que d'élèves et je baptise la feuille du nom de
l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne correspondant
pas aux titres des col "Num", "Matières", "Paragraphes" (soit les 3
premières du tableau) ET celle du nom de la feuille (soit Elèv1, puis
Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes les
col dont le titre est différent du nom de la feuille (nom de l'élève).
De cette manière, chaque élève aura sa feuille.....
Un grand merci et bon WE à tous et tousses.
Bonjour. Cette manière de faire est valable si tu as d'autres données sur la feuille, sinon, il est plus rapide de recopier, pour chaque feuille les trois premières colonnes et la colonne de l'élève. Essaie :
Sub test() Application.ScreenUpdating = False With Sheets("Feuil1") For i = 4 To .[IV1].End(xlToLeft).Column .Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Cells(1, i) For x = [IV1].End(xlToLeft).Column To 4 Step -1 If Cells(1, x) <> Cells(1, i) Then Columns(x).Delete Next x Next i End With Application.ScreenUpdating = True End Sub
Cordialement. Daniel
Bonjour
A partir d'un tableau d'une quarantaine de lignes, mais de trois col + 150 col baptisées au nom des élèves. Je fais autant de copies que d'élèves et je baptise la feuille du nom de l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne correspondant pas aux titres des col "Num", "Matières", "Paragraphes" (soit les 3 premières du tableau) ET celle du nom de la feuille (soit Elèv1, puis Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes les col dont le titre est différent du nom de la feuille (nom de l'élève).
De cette manière, chaque élève aura sa feuille..... Un grand merci et bon WE à tous et tousses.
Jacquouille
Bonsoir Daniel J'ai dû adapter car les noms de col sont en ligne 2. Cela fonctionne ADMIRABLEMENT bien. Un tout grand merci. Ensuite, je dois classer la col D (points de l'élève) de chaque feuille. Comment puis-je lui dire de faire cela pour toutes les feuilles sauf "base" et "Résultats";? Un tout grand merci Jacques
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"DanielCo" a écrit dans le message de news: i46gk9$lt$
Bonjour. Cette manière de faire est valable si tu as d'autres données sur la feuille, sinon, il est plus rapide de recopier, pour chaque feuille les trois premières colonnes et la colonne de l'élève. Essaie :
Sub test() Application.ScreenUpdating = False With Sheets("Feuil1") For i = 4 To .[IV1].End(xlToLeft).Column .Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Cells(1, i) For x = [IV1].End(xlToLeft).Column To 4 Step -1 If Cells(1, x) <> Cells(1, i) Then Columns(x).Delete Next x Next i End With Application.ScreenUpdating = True End Sub
Cordialement. Daniel
Bonjour
A partir d'un tableau d'une quarantaine de lignes, mais de trois col + 150 col baptisées au nom des élèves. Je fais autant de copies que d'élèves et je baptise la feuille du nom de l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne correspondant pas aux titres des col "Num", "Matières", "Paragraphes" (soit les 3 premières du tableau) ET celle du nom de la feuille (soit Elèv1, puis Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes les col dont le titre est différent du nom de la feuille (nom de l'élève).
De cette manière, chaque élève aura sa feuille..... Un grand merci et bon WE à tous et tousses.
Bonsoir Daniel
J'ai dû adapter car les noms de col sont en ligne 2.
Cela fonctionne ADMIRABLEMENT bien.
Un tout grand merci.
Ensuite, je dois classer la col D (points de l'élève) de chaque feuille.
Comment puis-je lui dire de faire cela pour toutes les feuilles sauf "base"
et "Résultats";?
Un tout grand merci
Jacques
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"DanielCo" <dcolardelleZZZ@free.fr> a écrit dans le message de news:
i46gk9$lt$1@speranza.aioe.org...
Bonjour.
Cette manière de faire est valable si tu as d'autres données sur la
feuille, sinon, il est plus rapide de recopier, pour chaque feuille les
trois premières colonnes et la colonne de l'élève.
Essaie :
Sub test()
Application.ScreenUpdating = False
With Sheets("Feuil1")
For i = 4 To .[IV1].End(xlToLeft).Column
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Cells(1, i)
For x = [IV1].End(xlToLeft).Column To 4 Step -1
If Cells(1, x) <> Cells(1, i) Then Columns(x).Delete
Next x
Next i
End With
Application.ScreenUpdating = True
End Sub
Cordialement.
Daniel
Bonjour
A partir d'un tableau d'une quarantaine de lignes, mais de trois col +
150 col baptisées au nom des élèves.
Je fais autant de copies que d'élèves et je baptise la feuille du nom de
l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne
correspondant pas aux titres des col "Num", "Matières", "Paragraphes"
(soit les 3 premières du tableau) ET celle du nom de la feuille (soit
Elèv1, puis Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes
les col dont le titre est différent du nom de la feuille (nom de
l'élève).
De cette manière, chaque élève aura sa feuille.....
Un grand merci et bon WE à tous et tousses.
Bonsoir Daniel J'ai dû adapter car les noms de col sont en ligne 2. Cela fonctionne ADMIRABLEMENT bien. Un tout grand merci. Ensuite, je dois classer la col D (points de l'élève) de chaque feuille. Comment puis-je lui dire de faire cela pour toutes les feuilles sauf "base" et "Résultats";? Un tout grand merci Jacques
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"DanielCo" a écrit dans le message de news: i46gk9$lt$
Bonjour. Cette manière de faire est valable si tu as d'autres données sur la feuille, sinon, il est plus rapide de recopier, pour chaque feuille les trois premières colonnes et la colonne de l'élève. Essaie :
Sub test() Application.ScreenUpdating = False With Sheets("Feuil1") For i = 4 To .[IV1].End(xlToLeft).Column .Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Cells(1, i) For x = [IV1].End(xlToLeft).Column To 4 Step -1 If Cells(1, x) <> Cells(1, i) Then Columns(x).Delete Next x Next i End With Application.ScreenUpdating = True End Sub
Cordialement. Daniel
Bonjour
A partir d'un tableau d'une quarantaine de lignes, mais de trois col + 150 col baptisées au nom des élèves. Je fais autant de copies que d'élèves et je baptise la feuille du nom de l'élève. --> OK
Lors de cette copie, je voudrais supprimer toutes les col ne correspondant pas aux titres des col "Num", "Matières", "Paragraphes" (soit les 3 premières du tableau) ET celle du nom de la feuille (soit Elèv1, puis Elèv2...)
Expliqué autrement, je voudrais, à partir de la 4° col, supprimer toutes les col dont le titre est différent du nom de la feuille (nom de l'élève).
De cette manière, chaque élève aura sa feuille..... Un grand merci et bon WE à tous et tousses.
news.free.fr
Tu veux juste trier la colonne D, ou le faire avec une ou plusieurs des 3 premières colonnes? Daniel
Tu veux juste trier la colonne D, ou le faire avec une ou plusieurs des
3 premières colonnes?
Daniel
Tu veux juste trier la colonne D, ou le faire avec une ou plusieurs des 3 premières colonnes? Daniel
Jacquouille
Bonsoir Tri 1 sur D, et 2° clé sur A. Mais, j'ai ajouté à ta macro et juste avant le next: Range("D2").Select Range("A2:D41").Sort Key1:=Range("D3"), Order1:=xlDescending, Key2:=Range _ ("A3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal
fourni par l'enregistreur .....et cela marche. Encore un tout grand merci.
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"news.free.fr" a écrit dans le message de news: i46kn5$cp0$
Tu veux juste trier la colonne D, ou le faire avec une ou plusieurs des 3 premières colonnes? Daniel
Bonsoir
Tri 1 sur D, et 2° clé sur A.
Mais, j'ai ajouté à ta macro et juste avant le next:
Range("D2").Select
Range("A2:D41").Sort Key1:=Range("D3"), Order1:=xlDescending,
Key2:=Range _
("A3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase _
:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
fourni par l'enregistreur .....et cela marche.
Encore un tout grand merci.
--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"news.free.fr" <dcolardelleZZZ@free.fr> a écrit dans le message de news:
i46kn5$cp0$1@speranza.aioe.org...
Tu veux juste trier la colonne D, ou le faire avec une ou plusieurs des 3
premières colonnes?
Daniel
Bonsoir Tri 1 sur D, et 2° clé sur A. Mais, j'ai ajouté à ta macro et juste avant le next: Range("D2").Select Range("A2:D41").Sort Key1:=Range("D3"), Order1:=xlDescending, Key2:=Range _ ("A3"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal
fourni par l'enregistreur .....et cela marche. Encore un tout grand merci.
-- Bien amicalmement, "Le vin est au repas ce que le parfum est à la femme."
Jacquouille (MPFE).
"news.free.fr" a écrit dans le message de news: i46kn5$cp0$
Tu veux juste trier la colonne D, ou le faire avec une ou plusieurs des 3 premières colonnes? Daniel