Pour gérer une compétition

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je fais appel à vous pour finaliser une application qui doit permettre de gérer une compétition de tir à l'arc.

Vous trouverez dans le fichier ci-joint les explications des compléments qu'il me faudrait réussir à réaliser.

Je ne demande bien entendu pas que vous fassiez l'intégralité du travail pour moi, mais de me mettre sur la piste et de m'aider à rédiger les bons codes.

merci beaucoup
 

Pièces jointes

  • Arc1.xls
    147 KB · Affichages: 64
  • Arc1.xls
    147 KB · Affichages: 58
  • Arc1.xls
    147 KB · Affichages: 65

fb62840

XLDnaute Impliqué
Re : Pour gérer une compétition

J'ai mis sheets("Match 1").Activate car je me suis dit que si sans cela il recopiait les données sur la feuille où se trouve le bouton d'appel (Feuil1) alors c'était sans doute parce que le "focus" (désolé si ça n'est pas le bon terme) n'était pas envoyé à la bonne page.

En fait l'exécution Pas à Pas n'est pas très instructif (je l'appelle par F8) et il surmarque la première ligne du code, puis il affiche la msgbox qui affiche le message d'alerte n'invitant à créer les groupes que si tous les résultats sont saisis, puis il affiche la msgbox qui indique la valeur de la moyenne et puis c'est tout.
 

fb62840

XLDnaute Impliqué
Re : Pour gérer une compétition

Le voici,

Je vais devoir m'absenter, je reprendrai le travail plus tard dans la soirée.

Merci pour ton aide.
 

Pièces jointes

  • Arc1.xls
    167 KB · Affichages: 52
  • Arc1.xls
    167 KB · Affichages: 45
  • Arc1.xls
    167 KB · Affichages: 54

titiborregan5

XLDnaute Accro
Re : Pour gérer une compétition

l'erreur vient du calcul de la moyenne... pourquoi as tu changé f par a dans le range?? forcément ça déconne.
Essaie avec :
Code:
Sub groupe()
With Sheets("Match 1")
.Range("g1") = "Groupe"
moyenne = Application.Average(Range(.Range("f2"), .Range("f1").End(xlDown)))
MsgBox moyenne
For i = 2 To .Range("a1").End(xlDown).Row
    If Cells(i, 6) >= moyenne Then
        Cells(i, 7) = "Groupe 1"
    Else
        Cells(i, 7) = "Groupe 2"
    End If

Next

.Rows(1).Copy Sheets("Groupe 1").Range("a1")
.Rows(1).Copy Sheets("Groupe 2").Range("a1")

Sheets("Groupe 1").Range("l1") = "Groupe"
Sheets("Groupe 1").Range("l2") = "Groupe 1"
Sheets("Groupe 2").Range("l1") = "Groupe"
Sheets("Groupe 2").Range("l2") = "Groupe 2"

.Range("a1").CurrentRegion.AdvancedFilter xlFilterCopy, Sheets("Groupe 1").Range("l1:l2"), Sheets("Groupe 1").Range("a1:g1"), False
.Range("a1").CurrentRegion.AdvancedFilter xlFilterCopy, Sheets("Groupe 2").Range("l1:l2"), Sheets("Groupe 2").Range("a1:g1"), False
End With

End Sub

J'ai corrigé pour que la moyenne des points se fasse sur la colonne F et pour que ça aille jusqu'à la dernière ligne saisie et non plus 31. Chez moi ça marche!
 

fb62840

XLDnaute Impliqué
Re : Pour gérer une compétition

Je l'ai fait après avoir reçu ton message de 16H16 dans lequel tu me donnais :

Code:
moyenne = Application.Average(Range(Range("a2"), Range("a1").End(xlDown)))

Désolé pour la confusion.

Je viens de tester avec ton dernier code, ça marche.

Je te remercie vraiment beaucoup ton aide m'est vraiment très très utile.

Bonne soirée
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 022
Messages
2 104 732
Membres
109 116
dernier inscrit
RALAIZANAKA