Création fichier Excel CONCOURS

Bonjour,

j'organise un concours avec mon nouveau club de peche et je souhaiterai créer un fichier pour le tirage au sort : je m'explique

en colonne A jai mes emplacement (1 à 140, plus ou moins )

ligne 6,7,8 je rentre l'inscription du ou des pecheurs

je voudrai pouvoir affecter un emplacement vide à un pécheur , ou 2 emplacement vide( cote a cote ) à 2 pécheurs ;ou pour 3 pécheurs cote a cote

Jai besoin d'aide je ne sais pas par ou commencer sachant que je suis debutant dans Exel

Merci d'avance à celui qui me comprendra

ci joint un début de projet sans formule ou macro

Bonjour,

solution via une macro

Sub aargh()
    Dim t(300)
    np = Application.WorksheetFunction.CountA(Range("C6:E6")) 'nombre de pêcheurs
   npos = Range("C1")
    p = 0
    For i = 1 To npos - np + 1 'recherche des positions possibles
       k = 0
        For j = 1 To np
            If Cells(i + j + 12, 2) = "" Then k = k + 1 Else Exit For
        Next j
        If k = np Then
            p = p + 1
            t(p) = i
        End If
    Next i
    If p = 0 Then MsgBox "plus d'espaces contigus pour " & np & " pêcheurs": Exit Sub
    'tirage au sort parmi les positions possibles
   q = Application.RandBetween(1, p)
    attr = "places attribuées " & vbNewLine
    sep = ""
    For j = 1 To np 'copie des infos pêcheurs aux places attribuées
       For k = 1 To 3
            Cells(t(q) + j + 12, k + 1) = Cells(5 + k, 2 + j)
        Next k
        attr = attr & sep & Cells(t(q) + j + 12, 1)
        sep = "-"
    Next j
    MsgBox attr 'affichage places attribuées
End Sub

Bonjour à tous

Une variante à tester.

Bye !

merci pour cette première version !

mais lorsque mon tableau commence a être rempli , si l'emplacement 5 est libre le 6 déjà pris que je rentre 3 nouveaux pécheurs , il me propose les emplacement 5,6,7 et écrase donc l'emplacement 6 qui était déjà pris

me suis je fait comprendre ?

h2so4 a écrit :

Bonjour,

solution via une macro

Sub aargh()
    Dim t(150)
    np = Application.WorksheetFunction.CountA(Range("C6:E6")) 'nombre de pêcheurs
    p = 0
    For i = 1 To 150 - np + 1 'recherche des positions possibles
        k = 0
        For j = 1 To np
            If Cells(i + 13, 2) = "" Then k = k + 1 Else Exit For
        Next j
        If k = np Then
            p = p + 1
            t(p) = i
        End If
    Next i
    If p = 0 Then MsgBox "plus d'espaces contigus pour " & np & " pêcheurs": Exit Sub
    'tirage au sort parmi les positions possibles
    q = Application.RandBetween(1, p)
    attr = "places attribuées " & vbNewLine
    sep = ""
    For j = 1 To np 'copie des infos pêcheurs aux places attribuées
        For k = 1 To 3
            Cells(t(q) + j + 12, k + 1) = Cells(5 + k, 2 + j)
        Next k
        attr = attr & sep & Cells(t(q) + j + 12, 1)
        sep = "-"
    Next j
    MsgBox attr 'affichage places attribuées
End Sub
gmb a écrit :

Bonjour à tous

Une variante à tester.

Bye !

merci beaucoup le fonctionnement est parfait !!

pour amélioré

1 j'aimerai avoir un message qui me donne le ou les emplacement lorsque je valide le tirage

2 comment je fais si je veut modifier le nombre de participant au lieu de 150 j en veut 120 es ce possible de pouvoir changer le code avec une cellule si en A3 je met le nombre maxi de participant


et 3 je voudrai rajouter le nom du club lors de l'inscription en C9,c10,c11

tiggrrou a écrit :

merci pour cette première version !

mais lorsque mon tableau commence a être rempli , si l'emplacement 5 est libre le 6 déjà pris que je rentre 3 nouveaux pécheurs , il me propose les emplacement 5,6,7 et écrase donc l'emplacement 6 qui était déjà pris

me suis je fait comprendre ?

j'ai adapté le code voir ci-dessus.

h2so4 a écrit :
tiggrrou a écrit :

merci pour cette première version !

mais lorsque mon tableau commence a être rempli , si l'emplacement 5 est libre le 6 déjà pris que je rentre 3 nouveaux pécheurs , il me propose les emplacement 5,6,7 et écrase donc l'emplacement 6 qui était déjà pris

me suis je fait comprendre ?

j'ai adapté le code voir ci-dessus.

je ne vois pas le code

tiggrrou a écrit :

1 j'aimerai avoir un message qui me donne le ou les emplacement lorsque je valide le tirage

Les plages de cellules de ces emplacements restent sélectionnées après la validation.
tiggrrou a écrit :

2 comment je fais si je veut modifier le nombre de participant

Il te suffit d'adapter la numérotation de la colonne A au nombre de participants.

OK ?

Bye !

bonjour, j'avais corrigé mon code initial voir plus haut. je l'ai recopié ici pour mémoire, la solution de GMB étant parfaite.

Sub aargh()
    Dim t(300)
    np = Application.WorksheetFunction.CountA(Range("C6:E6")) 'nombre de pêcheurs
   npos = Range("C1")
    p = 0
    For i = 1 To npos - np + 1 'recherche des positions possibles
       k = 0
        For j = 1 To np
            If Cells(i + j + 12, 2) = "" Then k = k + 1 Else Exit For
        Next j
        If k = np Then
            p = p + 1
            t(p) = i
        End If
    Next i
    If p = 0 Then MsgBox "plus d'espaces contigus pour " & np & " pêcheurs": Exit Sub
    'tirage au sort parmi les positions possibles
   q = Application.RandBetween(1, p)
    attr = "places attribuées " & vbNewLine
    sep = ""
    For j = 1 To np 'copie des infos pêcheurs aux places attribuées
       For k = 1 To 3
            Cells(t(q) + j + 12, k + 1) = Cells(5 + k, 2 + j)
        Next k
        attr = attr & sep & Cells(t(q) + j + 12, 1)
        sep = "-"
    Next j
    MsgBox attr 'affichage places attribuées
End Sub
gmb a écrit :
tiggrrou a écrit :

1 j'aimerai avoir un message qui me donne le ou les emplacement lorsque je valide le tirage

Les plages de cellules de ces emplacements restent sélectionnées après la validation.
tiggrrou a écrit :

2 comment je fais si je veut modifier le nombre de participant

Il te suffit d'adapter la numérotation de la colonne A au nombre de participants.

OK ?

Bye !

le message en fait c est pour que ca soit clair pour celui qui tire le numero (un message du ou des numeros qui s 'affiche sur l'ecran en GROS)

si cela est possible bien sur

merci bcp en tout cas

Alors, voilà :

Bye !

Merci pour tout es ce que dans le message il peut avoir le numéro d emplacement plutôt que le numéro de ligne ?

Et j'aimerais rajouter le nom de club de chaque pêcheur en dessous du numéro de licence !

Après ca je ne vous embête plus !!!

Nouvelle version.

Bye !

Merci "gmb " pour ce que vous faite !! il me manque la a rajouter une case dans mon tableau inscription (en bleu ) au code !

Bonjour

Nouvelle version.

Bye !

Bonjour

je souhaiterai remplir mon tableau avec un userform en choisissant juste le n° de licence dans ma base

txtbox1 je rentre mon numero de licence qui se copie dans la case C8

txtbox2 recherche du nom qui se copie dans la case C6

txtbox2 recherche du prenom qui se copie dans la case C7

txtbox3 recherche du club qui se copie dans la case C9

Bonjour

Nouvelle proposition.

Ne marche que si les numéros de licence sont numériques.

S'ils ne le sont pas, il faut modifier la macro.

Bye !

gmb a écrit :

Bonjour

Nouvelle proposition.

Ne marche que si les numéros de licence sont numériques.

S'ils ne le sont pas, il faut modifier la macro.

Bye !

Merci ,

j'ai une petite requête :lorsque je veut enregistre un seul pécheur cela me propose 3 emplacements.

Nouvelle version.

Bye !

Merci c'est parfait j'envie votre savoir faire !!!

Rechercher des sujets similaires à "creation fichier concours"