Dans un tableau, je souhaiterais, en fonction de données situées dans 4
colonnes, récupérer les données correspondantes d'une 5e colonne... et
trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
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
laurent.daures
Bonjour, Il faut tout simplement utiliser les filtres. Pour cela, sélectionne les cellules D5 à M5 Puis dans le menu Données Filtrer Filtre Automatique Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres. Là , en manipulant le filtre (la petite flèche) de chaque colonne, tu peux filtrer uniquement Den chu ou Aeg, en pensant à "ouvrir" le filtre à chaque fois que tu en actives un sur une autre colonne, car les filtrages s'"additionnent". Amicalement Siesting Hoax
"Pierre F." a écrit dans le message de news: c92dc$486659d1$55da2ea5$
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4 colonnes, récupérer les données correspondantes d'une 5e colonne... et trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Merci
Cordialement, Pierre F.
Bonjour,
Il faut tout simplement utiliser les filtres.
Pour cela,
sélectionne les cellules D5 à M5
Puis dans le menu Données
Filtrer
Filtre Automatique
Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres.
Là , en manipulant le filtre (la petite flèche) de chaque colonne,
tu peux filtrer uniquement Den chu ou Aeg,
en pensant à "ouvrir" le filtre à chaque fois
que tu en actives un sur une autre colonne, car les filtrages
s'"additionnent".
Amicalement
Siesting Hoax
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
c92dc$486659d1$55da2ea5$32200@news.hispeed.ch...
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4
colonnes, récupérer les données correspondantes d'une 5e colonne... et
trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Bonjour, Il faut tout simplement utiliser les filtres. Pour cela, sélectionne les cellules D5 à M5 Puis dans le menu Données Filtrer Filtre Automatique Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres. Là , en manipulant le filtre (la petite flèche) de chaque colonne, tu peux filtrer uniquement Den chu ou Aeg, en pensant à "ouvrir" le filtre à chaque fois que tu en actives un sur une autre colonne, car les filtrages s'"additionnent". Amicalement Siesting Hoax
"Pierre F." a écrit dans le message de news: c92dc$486659d1$55da2ea5$
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4 colonnes, récupérer les données correspondantes d'une 5e colonne... et trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Merci
Cordialement, Pierre F.
Pierre F.
laurent.daures a écrit :
Bonjour, Il faut tout simplement utiliser les filtres. Pour cela, sélectionne les cellules D5 à M5 Puis dans le menu Données Filtrer Filtre Automatique Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres. Là , en manipulant le filtre (la petite flèche) de chaque colonne, tu peux filtrer uniquement Den chu ou Aeg, en pensant à "ouvrir" le filtre à chaque fois que tu en actives un sur une autre colonne, car les filtrages s'"additionnent".
Merci pour ta réponse...
mais ça ne me me convient pas car les Aeg, ... peuvent apparaître dans plusieurs colonnes et je souhaite une "addition" des résultats alors que les filtres successifs amènent une soustraction :-)
En fait, je souhaite recomposer tout le tableau, mais sous une autre forme... Comme il comporte en réalité 130 lignes, je cherche à trouver une solution "rapide".
Cordialement, Pierre F.
laurent.daures a écrit :
Bonjour,
Il faut tout simplement utiliser les filtres.
Pour cela,
sélectionne les cellules D5 à M5
Puis dans le menu Données
Filtrer
Filtre Automatique
Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres.
Là , en manipulant le filtre (la petite flèche) de chaque colonne,
tu peux filtrer uniquement Den chu ou Aeg,
en pensant à "ouvrir" le filtre à chaque fois
que tu en actives un sur une autre colonne, car les filtrages
s'"additionnent".
Merci pour ta réponse...
mais ça ne me me convient pas car les Aeg, ... peuvent apparaître dans
plusieurs colonnes et je souhaite une "addition" des résultats alors que
les filtres successifs amènent une soustraction :-)
En fait, je souhaite recomposer tout le tableau, mais sous une autre
forme...
Comme il comporte en réalité 130 lignes, je cherche à trouver une
solution "rapide".
Bonjour, Il faut tout simplement utiliser les filtres. Pour cela, sélectionne les cellules D5 à M5 Puis dans le menu Données Filtrer Filtre Automatique Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres. Là , en manipulant le filtre (la petite flèche) de chaque colonne, tu peux filtrer uniquement Den chu ou Aeg, en pensant à "ouvrir" le filtre à chaque fois que tu en actives un sur une autre colonne, car les filtrages s'"additionnent".
Merci pour ta réponse...
mais ça ne me me convient pas car les Aeg, ... peuvent apparaître dans plusieurs colonnes et je souhaite une "addition" des résultats alors que les filtres successifs amènent une soustraction :-)
En fait, je souhaite recomposer tout le tableau, mais sous une autre forme... Comme il comporte en réalité 130 lignes, je cherche à trouver une solution "rapide".
Cordialement, Pierre F.
isabelle
bonjour Pierre,
par exemple sélectionne A2 de Feuil2 et exécute cette macro. on pourrait aussi ajouter une autre boucle pour traiter toutes les informations de la colonne A de Feuil2
Sub Macro1() x = 1 For Each c In Sheets("Feuil1").Range("E6:E17,G6:G17,I6:I17,K6:K17,M6:M17") If LCase(c) = LCase(Sheets("Feuil2").Range("A" & Selection.Row)) Then x = x + 1 Sheets("Feuil2").Cells(Selection.Row, x) = Sheets("Feuil1").Range("B" & c.Row) End If Next End Sub
isabelle
Pierre F. a écrit :
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4 colonnes, récupérer les données correspondantes d'une 5e colonne... et trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Merci
Cordialement, Pierre F.
bonjour Pierre,
par exemple sélectionne A2 de Feuil2 et exécute cette macro.
on pourrait aussi ajouter une autre boucle pour traiter toutes les informations de la colonne A de Feuil2
Sub Macro1()
x = 1
For Each c In Sheets("Feuil1").Range("E6:E17,G6:G17,I6:I17,K6:K17,M6:M17")
If LCase(c) = LCase(Sheets("Feuil2").Range("A" & Selection.Row)) Then
x = x + 1
Sheets("Feuil2").Cells(Selection.Row, x) = Sheets("Feuil1").Range("B" & c.Row)
End If
Next
End Sub
isabelle
Pierre F. a écrit :
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4
colonnes, récupérer les données correspondantes d'une 5e colonne... et
trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
par exemple sélectionne A2 de Feuil2 et exécute cette macro. on pourrait aussi ajouter une autre boucle pour traiter toutes les informations de la colonne A de Feuil2
Sub Macro1() x = 1 For Each c In Sheets("Feuil1").Range("E6:E17,G6:G17,I6:I17,K6:K17,M6:M17") If LCase(c) = LCase(Sheets("Feuil2").Range("A" & Selection.Row)) Then x = x + 1 Sheets("Feuil2").Cells(Selection.Row, x) = Sheets("Feuil1").Range("B" & c.Row) End If Next End Sub
isabelle
Pierre F. a écrit :
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4 colonnes, récupérer les données correspondantes d'une 5e colonne... et trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Merci
Cordialement, Pierre F.
Pierre F.
isabelle a écrit :
bonjour Pierre,
par exemple sélectionne A2 de Feuil2 et exécute cette macro. on pourrait aussi ajouter une autre boucle pour traiter toutes les informations de la colonne A de Feuil2
Sub Macro1() x = 1 For Each c In Sheets("Feuil1").Range("E6:E17,G6:G17,I6:I17,K6:K17,M6:M17") If LCase(c) = LCase(Sheets("Feuil2").Range("A" & Selection.Row)) Then x = x + 1 Sheets("Feuil2").Cells(Selection.Row, x) = Sheets("Feuil1").Range("B" & c.Row) End If Next End Sub
Merci pour cette macro... mais elle ne fonctionne pas chez moi (Rien ne se passe)
Pourquoi faut-il sélectionner A2 de feuil2 ?
Cordialement, Pierre F.
isabelle a écrit :
bonjour Pierre,
par exemple sélectionne A2 de Feuil2 et exécute cette macro.
on pourrait aussi ajouter une autre boucle pour traiter toutes les
informations de la colonne A de Feuil2
Sub Macro1()
x = 1
For Each c In Sheets("Feuil1").Range("E6:E17,G6:G17,I6:I17,K6:K17,M6:M17")
If LCase(c) = LCase(Sheets("Feuil2").Range("A" & Selection.Row)) Then
x = x + 1
Sheets("Feuil2").Cells(Selection.Row, x) = Sheets("Feuil1").Range("B" &
c.Row)
End If
Next
End Sub
Merci pour cette macro... mais elle ne fonctionne pas chez moi (Rien ne
se passe)
par exemple sélectionne A2 de Feuil2 et exécute cette macro. on pourrait aussi ajouter une autre boucle pour traiter toutes les informations de la colonne A de Feuil2
Sub Macro1() x = 1 For Each c In Sheets("Feuil1").Range("E6:E17,G6:G17,I6:I17,K6:K17,M6:M17") If LCase(c) = LCase(Sheets("Feuil2").Range("A" & Selection.Row)) Then x = x + 1 Sheets("Feuil2").Cells(Selection.Row, x) = Sheets("Feuil1").Range("B" & c.Row) End If Next End Sub
Merci pour cette macro... mais elle ne fonctionne pas chez moi (Rien ne se passe)
Pourquoi faut-il sélectionner A2 de feuil2 ?
Cordialement, Pierre F.
MichDenis
2 façons illustrées pour obtenir ce que tu désires à l'aide de ce fichier exemple utilisant le filtre élaboré
http://cjoint.com/?gCvGSaVGzD
"Pierre F." a écrit dans le message de news: c92dc$486659d1$55da2ea5$ Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4 colonnes, récupérer les données correspondantes d'une 5e colonne... et trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Merci
Cordialement, Pierre F.
2 façons illustrées pour obtenir ce que tu désires
à l'aide de ce fichier exemple utilisant le filtre élaboré
http://cjoint.com/?gCvGSaVGzD
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news: c92dc$486659d1$55da2ea5$32200@news.hispeed.ch...
Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4
colonnes, récupérer les données correspondantes d'une 5e colonne... et
trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
2 façons illustrées pour obtenir ce que tu désires à l'aide de ce fichier exemple utilisant le filtre élaboré
http://cjoint.com/?gCvGSaVGzD
"Pierre F." a écrit dans le message de news: c92dc$486659d1$55da2ea5$ Bonjour à toutes et à tous!
Dans un tableau, je souhaiterais, en fonction de données situées dans 4 colonnes, récupérer les données correspondantes d'une 5e colonne... et trier le tout!
Voir le cjoint, ce sera plus clair :-)
http://cjoint.com/?gCrGzxZhHW
Macro ou soluce par fomule me conviendront; je suis totalement perdu :-(
Merci
Cordialement, Pierre F.
laurent.daures
Bonsoir, si tu veux, voici une macro adaptée à ton fichier joint,
Sub extraire_prof() Range("N1:N500").ClearContents For Each prof In Array("aeg", "gui", "tra", "rod", "chu", _ "dup", "rac", "den", "mad", "sch") For Each cell In Range("E6:M17") If UCase(cell.Value) = UCase(prof) Then If nom_élève = "" Then nom_élève = Range("A" & cell.Row) & _ " " & Range("B" & cell.Row) Else nom_élève = nom_élève & ", " & _ Range("A" & cell.Row) & " " & Range("B" & cell.Row) End If End If Next Range("N500").End(xlUp)(2) = prof & " : " & _ nom_élève nom_élève = "" Next End Sub
Elle te donne tous les profs suivis des noms et prénoms de la ligne. A toi de l'adapter si tu veux, en ajoutant des noms dans l'Array Prof. Amicalement Siesting Hoax
"Pierre F." a écrit dans le message de news: 6be00$486682c4$55da2ea5$
laurent.daures a écrit :
Bonjour, Il faut tout simplement utiliser les filtres. Pour cela, sélectionne les cellules D5 à M5 Puis dans le menu Données Filtrer Filtre Automatique Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres. Là , en manipulant le filtre (la petite flèche) de chaque colonne, tu peux filtrer uniquement Den chu ou Aeg, en pensant à "ouvrir" le filtre à chaque fois que tu en actives un sur une autre colonne, car les filtrages s'"additionnent".
Merci pour ta réponse...
mais ça ne me me convient pas car les Aeg, ... peuvent apparaître dans plusieurs colonnes et je souhaite une "addition" des résultats alors que les filtres successifs amènent une soustraction :-)
En fait, je souhaite recomposer tout le tableau, mais sous une autre forme... Comme il comporte en réalité 130 lignes, je cherche à trouver une solution "rapide".
Cordialement, Pierre F.
Bonsoir,
si tu veux, voici une macro adaptée à ton fichier joint,
Sub extraire_prof()
Range("N1:N500").ClearContents
For Each prof In Array("aeg", "gui", "tra", "rod", "chu", _
"dup", "rac", "den", "mad", "sch")
For Each cell In Range("E6:M17")
If UCase(cell.Value) = UCase(prof) Then
If nom_élève = "" Then
nom_élève = Range("A" & cell.Row) & _
" " & Range("B" & cell.Row)
Else
nom_élève = nom_élève & ", " & _
Range("A" & cell.Row) & " " & Range("B" & cell.Row)
End If
End If
Next
Range("N500").End(xlUp)(2) = prof & " : " & _
nom_élève
nom_élève = ""
Next
End Sub
Elle te donne tous les profs suivis des noms et prénoms de la ligne.
A toi de l'adapter si tu veux, en ajoutant des noms dans l'Array Prof.
Amicalement
Siesting Hoax
"Pierre F." <pfornerodNO@SPAMhotmail.com> a écrit dans le message de news:
6be00$486682c4$55da2ea5$14172@news.hispeed.ch...
laurent.daures a écrit :
Bonjour,
Il faut tout simplement utiliser les filtres.
Pour cela,
sélectionne les cellules D5 à M5
Puis dans le menu Données
Filtrer
Filtre Automatique
Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres.
Là , en manipulant le filtre (la petite flèche) de chaque colonne,
tu peux filtrer uniquement Den chu ou Aeg,
en pensant à "ouvrir" le filtre à chaque fois
que tu en actives un sur une autre colonne, car les filtrages
s'"additionnent".
Merci pour ta réponse...
mais ça ne me me convient pas car les Aeg, ... peuvent apparaître dans
plusieurs colonnes et je souhaite une "addition" des résultats alors que
les filtres successifs amènent une soustraction :-)
En fait, je souhaite recomposer tout le tableau, mais sous une autre
forme...
Comme il comporte en réalité 130 lignes, je cherche à trouver une solution
"rapide".
Bonsoir, si tu veux, voici une macro adaptée à ton fichier joint,
Sub extraire_prof() Range("N1:N500").ClearContents For Each prof In Array("aeg", "gui", "tra", "rod", "chu", _ "dup", "rac", "den", "mad", "sch") For Each cell In Range("E6:M17") If UCase(cell.Value) = UCase(prof) Then If nom_élève = "" Then nom_élève = Range("A" & cell.Row) & _ " " & Range("B" & cell.Row) Else nom_élève = nom_élève & ", " & _ Range("A" & cell.Row) & " " & Range("B" & cell.Row) End If End If Next Range("N500").End(xlUp)(2) = prof & " : " & _ nom_élève nom_élève = "" Next End Sub
Elle te donne tous les profs suivis des noms et prénoms de la ligne. A toi de l'adapter si tu veux, en ajoutant des noms dans l'Array Prof. Amicalement Siesting Hoax
"Pierre F." a écrit dans le message de news: 6be00$486682c4$55da2ea5$
laurent.daures a écrit :
Bonjour, Il faut tout simplement utiliser les filtres. Pour cela, sélectionne les cellules D5 à M5 Puis dans le menu Données Filtrer Filtre Automatique Tu as désormais de D5 à M5 des petites flèches, ce sont les filtres. Là , en manipulant le filtre (la petite flèche) de chaque colonne, tu peux filtrer uniquement Den chu ou Aeg, en pensant à "ouvrir" le filtre à chaque fois que tu en actives un sur une autre colonne, car les filtrages s'"additionnent".
Merci pour ta réponse...
mais ça ne me me convient pas car les Aeg, ... peuvent apparaître dans plusieurs colonnes et je souhaite une "addition" des résultats alors que les filtres successifs amènent une soustraction :-)
En fait, je souhaite recomposer tout le tableau, mais sous une autre forme... Comme il comporte en réalité 130 lignes, je cherche à trouver une solution "rapide".
Cordialement, Pierre F.
Pierre F.
MichDenis a écrit :
2 façons illustrées pour obtenir ce que tu désires à l'aide de ce fichier exemple utilisant le filtre élaboré
http://cjoint.com/?gCvGSaVGzD
Mille mercis à tous; vos macros et filtres élaborés m'ont débloqués; je peux enfin avancer :-)
Cordialement, Pierre F.
MichDenis a écrit :
2 façons illustrées pour obtenir ce que tu désires
à l'aide de ce fichier exemple utilisant le filtre élaboré
http://cjoint.com/?gCvGSaVGzD
Mille mercis à tous; vos macros et filtres élaborés m'ont débloqués; je
peux enfin avancer :-)
2 façons illustrées pour obtenir ce que tu désires à l'aide de ce fichier exemple utilisant le filtre élaboré
http://cjoint.com/?gCvGSaVGzD
Mille mercis à tous; vos macros et filtres élaborés m'ont débloqués; je peux enfin avancer :-)
Cordialement, Pierre F.
Youky
Voici qui répond parfaitement à la demande..... Me suis pris le bec avec . . . . c'est pourquoi je l'envoie même tardivement Youky
Sub bibi() Feuil2.Cells.Clear lg = Feuil1.[A65536].End(3).Row Feuil2.Select For k = 5 To 13 Step 2 x = [B65000].End(3).Row + 1 Range(Cells(x, 2), Cells(lg - 6 + x, 2)).Value = Feuil1.Range(Feuil1.Cells(6, k), Feuil1.Cells(lg, k)).Value Next [A1] = "NOM": [B1] = "NOM" For k = 2 To [B65000].End(3).Row Cells(k, 2) = UCase(Cells(k, 2)) Next Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns( _ "A:A"), Unique:=True Columns("B:B").Clear x = 2 For youky = 2 To Feuil2.[A65000].End(3).Row col = 2 nom = Feuil2.Cells(youky, 1) For lig = 6 To lg For k = 5 To 14 Step 2 If UCase(Feuil1.Cells(lig, k)) = nom Then Feuil2.Cells(x, col) = Feuil1.Cells(lig, 2) col = col + 1 Exit For End If Next Next x = x + 1 Next Feuil2.Range("A:A").Font.Bold = True End Sub
Voici qui répond parfaitement à la demande.....
Me suis pris le bec avec . . . .
c'est pourquoi je l'envoie même tardivement
Youky
Sub bibi()
Feuil2.Cells.Clear
lg = Feuil1.[A65536].End(3).Row
Feuil2.Select
For k = 5 To 13 Step 2
x = [B65000].End(3).Row + 1
Range(Cells(x, 2), Cells(lg - 6 + x, 2)).Value =
Feuil1.Range(Feuil1.Cells(6, k), Feuil1.Cells(lg, k)).Value
Next
[A1] = "NOM": [B1] = "NOM"
For k = 2 To [B65000].End(3).Row
Cells(k, 2) = UCase(Cells(k, 2))
Next
Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns( _
"A:A"), Unique:=True
Columns("B:B").Clear
x = 2
For youky = 2 To Feuil2.[A65000].End(3).Row
col = 2
nom = Feuil2.Cells(youky, 1)
For lig = 6 To lg
For k = 5 To 14 Step 2
If UCase(Feuil1.Cells(lig, k)) = nom Then
Feuil2.Cells(x, col) = Feuil1.Cells(lig, 2)
col = col + 1
Exit For
End If
Next
Next
x = x + 1
Next
Feuil2.Range("A:A").Font.Bold = True
End Sub
Voici qui répond parfaitement à la demande..... Me suis pris le bec avec . . . . c'est pourquoi je l'envoie même tardivement Youky
Sub bibi() Feuil2.Cells.Clear lg = Feuil1.[A65536].End(3).Row Feuil2.Select For k = 5 To 13 Step 2 x = [B65000].End(3).Row + 1 Range(Cells(x, 2), Cells(lg - 6 + x, 2)).Value = Feuil1.Range(Feuil1.Cells(6, k), Feuil1.Cells(lg, k)).Value Next [A1] = "NOM": [B1] = "NOM" For k = 2 To [B65000].End(3).Row Cells(k, 2) = UCase(Cells(k, 2)) Next Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns( _ "A:A"), Unique:=True Columns("B:B").Clear x = 2 For youky = 2 To Feuil2.[A65000].End(3).Row col = 2 nom = Feuil2.Cells(youky, 1) For lig = 6 To lg For k = 5 To 14 Step 2 If UCase(Feuil1.Cells(lig, k)) = nom Then Feuil2.Cells(x, col) = Feuil1.Cells(lig, 2) col = col + 1 Exit For End If Next Next x = x + 1 Next Feuil2.Range("A:A").Font.Bold = True End Sub
Pierre F.
Youky a écrit :
Voici qui répond parfaitement à la demande..... Me suis pris le bec avec . . . . c'est pourquoi je l'envoie même tardivement Youky
Merci pour le temps passé et pour le projet qui est tip top! Désolé pour la prise de bec :-) Le fait que la macro élimine les doublons, c'est vraiment génial! J'ai pu ajouter un petit module de tri à la fin et l'affaire est belle.
Cordialement, Pierre F.
Sub bibi() Feuil2.Cells.Clear lg = Feuil1.[A65536].End(3).Row Feuil2.Select For k = 5 To 13 Step 2 x = [B65000].End(3).Row + 1 Range(Cells(x, 2), Cells(lg - 6 + x, 2)).Value = Feuil1.Range(Feuil1.Cells(6, k), Feuil1.Cells(lg, k)).Value Next [A1] = "NOM": [B1] = "NOM" For k = 2 To [B65000].End(3).Row Cells(k, 2) = UCase(Cells(k, 2)) Next Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns( _ "A:A"), Unique:=True Columns("B:B").Clear x = 2 For youky = 2 To Feuil2.[A65000].End(3).Row col = 2 nom = Feuil2.Cells(youky, 1) For lig = 6 To lg For k = 5 To 14 Step 2 If UCase(Feuil1.Cells(lig, k)) = nom Then Feuil2.Cells(x, col) = Feuil1.Cells(lig, 2) col = col + 1 Exit For End If Next Next x = x + 1 Next Feuil2.Range("A:A").Font.Bold = True End Sub
Youky a écrit :
Voici qui répond parfaitement à la demande.....
Me suis pris le bec avec . . . .
c'est pourquoi je l'envoie même tardivement
Youky
Merci pour le temps passé et pour le projet qui est tip top!
Désolé pour la prise de bec :-)
Le fait que la macro élimine les doublons, c'est vraiment génial!
J'ai pu ajouter un petit module de tri à la fin et l'affaire est belle.
Cordialement,
Pierre F.
Sub bibi()
Feuil2.Cells.Clear
lg = Feuil1.[A65536].End(3).Row
Feuil2.Select
For k = 5 To 13 Step 2
x = [B65000].End(3).Row + 1
Range(Cells(x, 2), Cells(lg - 6 + x, 2)).Value =
Feuil1.Range(Feuil1.Cells(6, k), Feuil1.Cells(lg, k)).Value
Next
[A1] = "NOM": [B1] = "NOM"
For k = 2 To [B65000].End(3).Row
Cells(k, 2) = UCase(Cells(k, 2))
Next
Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns( _
"A:A"), Unique:=True
Columns("B:B").Clear
x = 2
For youky = 2 To Feuil2.[A65000].End(3).Row
col = 2
nom = Feuil2.Cells(youky, 1)
For lig = 6 To lg
For k = 5 To 14 Step 2
If UCase(Feuil1.Cells(lig, k)) = nom Then
Feuil2.Cells(x, col) = Feuil1.Cells(lig, 2)
col = col + 1
Exit For
End If
Next
Next
x = x + 1
Next
Feuil2.Range("A:A").Font.Bold = True
End Sub
Voici qui répond parfaitement à la demande..... Me suis pris le bec avec . . . . c'est pourquoi je l'envoie même tardivement Youky
Merci pour le temps passé et pour le projet qui est tip top! Désolé pour la prise de bec :-) Le fait que la macro élimine les doublons, c'est vraiment génial! J'ai pu ajouter un petit module de tri à la fin et l'affaire est belle.
Cordialement, Pierre F.
Sub bibi() Feuil2.Cells.Clear lg = Feuil1.[A65536].End(3).Row Feuil2.Select For k = 5 To 13 Step 2 x = [B65000].End(3).Row + 1 Range(Cells(x, 2), Cells(lg - 6 + x, 2)).Value = Feuil1.Range(Feuil1.Cells(6, k), Feuil1.Cells(lg, k)).Value Next [A1] = "NOM": [B1] = "NOM" For k = 2 To [B65000].End(3).Row Cells(k, 2) = UCase(Cells(k, 2)) Next Columns("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Columns( _ "A:A"), Unique:=True Columns("B:B").Clear x = 2 For youky = 2 To Feuil2.[A65000].End(3).Row col = 2 nom = Feuil2.Cells(youky, 1) For lig = 6 To lg For k = 5 To 14 Step 2 If UCase(Feuil1.Cells(lig, k)) = nom Then Feuil2.Cells(x, col) = Feuil1.Cells(lig, 2) col = col + 1 Exit For End If Next Next x = x + 1 Next Feuil2.Range("A:A").Font.Bold = True End Sub