A vous de jouez !!! Finalement ça ne doit plus être

Bonjour à tous,

Tout d'abord je remercie infiniment celui qui trouvera une solution a ce problème et je dois avouer que je ne sais rien faire sous exel a part des petite addiction (lol).

Donc voici mon problème :

Je dispose d'une base de donnée d'environ 35 000 lignes correspondantes à des personnes.

Les personnes sont regroupées selon leurs communes d'origines.

En gros sa donne ca :

jean 12

jean 12

jean 12

jean 12

jean 12

pierrre 13

pierrre 13

pierrre 13

pierrre 13

pierrre 13

pierrre 13

Maintenant je voudrais couper automatiquement cette liste en deux en prennant au hasard la moitié des Jean 12 et la moitié des PIerre 13 et arriver à deux listes différentes de longueure comprable.

Ce point déja pour moi et vu mon niveau est irréalisable. Apres vous aurez surement remarqué ques les lsites ne sont pas toujours en nombres paire, il faut donc que la fonction sois capable de couper la liste en deux à un pres.

Je sais pas si c tres clair en gros on part d'une feuille de 35000 ligne pour en avoir deux a environs 15000.

Voila j'attend vos réponses merci encore

Bonsoir

Il faut partager les pierre ou les 13?

Il serait préférable pour avoir une réponse sure que tu joignes un exemple avec quelques lignes de ton fichier.

Pour cela, regarde joindre un fichier, en haut de cette page.

Cordialement

Salut le forum

Merci de modifier ton titre, en éditant ton premier post.

"L'urgent est terminé, l'impossible est en cours… Pour les miracles, prévoir 24 heures !"

Mytå

Bonjour à vous tous,

Je constate, une fois de plus, que l'urgence n'a pas la même signification pour tout le monde.

Il est à espérer que Yann n'est pas chauffeur au Samu !

hello

Yann, on t'attend !

et couper 35000 pour obtenir 2 fois 15000, on ne saura pas faire

0classeur1.xlsm (14.87 Ko)

Effectivement ma demande était trés urgente... mais un pote m'avait trouvé la solution avant même que j'ai fini de poster le message. Je ne peux pas vous donner un exemple de base car elles sont confidentielle mais je vous donne au moins la macro qu'il ma donnée. Personnellement je n'y comprend rien, mais ca fonctionne très bien. J'espère que ca vous servira pour autre chose.

Sub migrate()
Application.ScreenUpdating = False

endRow = 1
pasteRow = 2
While IsEmpty(Sheets("VAGUE 1").Cells(endRow + 1, 4)) = False       ' la macro s'arrêtera dès qu'elle rencontrera
    beginRow = endRow + 1                                           ' une ligne vide
    endRow = beginRow
    ref = Sheets("VAGUE 1").Cells(beginRow, 4)
    While Sheets("VAGUE 1").Cells(endRow + 1, 4) = ref
        endRow = endRow + 1
    Wend
    midRow = beginRow + (endRow - beginRow) \ 2

    Sheets("VAGUE 1").Rows(beginRow & ":" & midRow).Select
    Selection.Cut
    Sheets("VAGUE 2").Select
    Sheets("VAGUE 2").Cells(pasteRow, 1).Select
    ActiveSheet.Paste
    pasteRow = pasteRow + midRow - beginRow + 1
    Sheets("VAGUE 1").Select
Wend

Sheets("VAGUE 1").Range("A2:V12331").Select
    Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Sheets("VAGUE 1").Range("A2").Select

Application.ScreenUpdating = True
End Sub

Merci encore a vous tous

Rechercher des sujets similaires à "jouez finalement doit etre"