Alterner les lignes selon le sexe (ds excel)
Résolu
bonheur2007
Messages postés
113
Statut
Membre
-
bonheur2007 Messages postés 113 Statut Membre -
bonheur2007 Messages postés 113 Statut Membre -
Bonjour,
j'ai une base de donnée dont les inscrits sont clasés en fonction du sexe :féminin(F )puis masculin(M).
je voudrais avoir dans une ligne une candidate F suivi d'un candidat M, y a-t-il une formule pour faire ce travail?
merci
https://www.cjoint.com/?BGmoIhMQhGK
j'ai une base de donnée dont les inscrits sont clasés en fonction du sexe :féminin(F )puis masculin(M).
je voudrais avoir dans une ligne une candidate F suivi d'un candidat M, y a-t-il une formule pour faire ce travail?
merci
https://www.cjoint.com/?BGmoIhMQhGK
3 réponses
-
Bonjour,
peut-être une solution:
1) trier tout d'abord sur la colonnes "sexe" (M ou F) afin d'avoir tout d'abord toutes les personnes de sexe féminin puis toutes les personnes de sexe masculin
2) dans une nouvelle colonne taper 1 pour la première ligne et 3 pour la deuxième ligne.
3) sélectionner les deux cellules et faire une recopie vers le bas jusqu'à la dernière ligne de F
4) sur la première ligne de M taper 2 et sur la deuxième ligne de M taper 4
5) sélectionner ces deux cellules et faire une recopie vers le bas
6) enfin faire un tri sur la colonne renfermant les chiffres précédemment entrés.
on obtient ainsi une alternance des F et des M
A+
pépé -
Bonjour,
Ou alors du vba
(cela implique que ton tableau soit ranger en A1)
Sub coupe() Application.ScreenUpdating = false b = "M" c = 3 d = 3 For a = 1 To 100000 If Range("a" & a).Value <> "" Then Max = a Else Exit For End If Next For a = 2 To Max Rows("2:2").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove If b = "F" Then b = "M" GoTo b: End If If b = "M" Then b = "F" b: Do While (Range("a" & c).Value <> "") If c > Max Then Exit Do If Range("d" & c).Value = b Then Rows(c & ":" & c).Cut Rows("2:2").Select ActiveSheet.Paste Rows(c & ":" & c).Select Selection.Delete Shift:=xlUp d = d + 1 c = d GoTo a: End If c = c + 1 Loop a: Next a = 1 Do While (Range("a2").Value = "") Rows("2:2").Select Selection.Delete Shift:=xlUp Loop Application.ScreenUpdating = True End Sub
bon la c'est plus compexe lol -
salut
merci à tous.j'ai essayé la prmière methode ça marche bien.quant au vba je n'y comprends rien.
merci à tous
+