1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Programmation VBA pour créer une feuille de match

    Bonjour

    Je sollicite votre aide car c'est la première fois que je faire de la programmation VBA et je n'y arrive pas malgré mes recherches.

    Je suis éducateur de foot et je souhaite créer des feuilles de match via un userform qui me permettrai de sélectionner des informations sur la rencontre ainsi que les joueurs convoqués et de tout retransmettre sur une feuille excel que je pourrai imprimer.

    Pour commencer je souhaiterai que mon userform s'ouvre lorsque je clique sur un bouton qui sera sur ma feuille de calcul

    Ensuite je souhaiterai que la date et le lieu s'affiche dans les cases correspondantes.

    Concernant la catégorie et le type de rencontre j'aimerai que les cases correspondantes se noircissent.

    Pour le nom de l'éducateur, je souhaiterai qu'il s'affiche dans la case prévu à cet effet (C32)

    Le plus compliqué c'est pour les joueurs.
    Le top serai que les joueurs sélectionnés s'affichent les uns en dessous des autres dans les cases noms des joueurs.

    Et pour finir je souhaiterai que toutes les valeurs renseignée s'affiche sur la feuille excel lorsque j'appuie sur le bouton "éditer la feuille de match"

    Je sais que ce projet est compliqué et c'est pour cela que je vous demande de l'aide

    Vous trouverez ci-joint 2 imprimes écran que j'ai fait du fichier

    Je vous remercie d'avance pour votre aide

    Cordialement

    Cédric

    Nom : Feuille de match.png
Affichages : 168
Taille : 25,1 KoNom : Userform.png
Affichages : 96
Taille : 42,5 Ko

  2. #2
    Futur Membre du Club
    Homme Profil pro
    pensionné
    Inscrit en
    mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : pensionné

    Informations forums :
    Inscription : mai 2017
    Messages : 4
    Points : 6
    Points
    6

    Par défaut

    Bonjour Cédric,
    je fais aussi des feuilles de matches (pour le tennis de table) si tu veux je peux t'envoyé mon fichier ou tu pourras voir les macros que j'utilise.
    Tu peux aussi m' envoyé ton fichier par mail.

    Voici mon adresse mail georges . gillet2911 at gmail . com

  3. #3
    Membre émérite
    Femme Profil pro
    Étudiant
    Inscrit en
    octobre 2016
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2016
    Messages : 1 478
    Points : 2 423
    Points
    2 423

    Par défaut

    Bonjour et bienvenue au forum !

    Avant de te proposer quelques pistes, voici quelques liens avec des tutos intéressants pour ton projet :

    Tu y apprendras notamment comment transmettre les différentes données que tu inscris sur le UserForm vers une feuille de calcul.

    Voici mes conseils/pistes :
    1. Pour tout ce qui est amené à changer régulièrement, je te conseille de ne pas faire des optionButton ou CheckBox, car il faudra changer la structure même du UserFOrm. Je pense en particulier aux joueurs sélectionnés pour le match. Tu écris une checkbox par joueur, mais imagine que tu as de nouveaux joueurs ou des joueurs qui partent, il faudra changer le UserForm.
      Utilise plutôt une ListBox que tu alimenteras par une liste de joueurs préalablement écrit dans une feuille "source" de ton classeur.
      Nom : plage nommée dynamique.png
Affichages : 77
Taille : 14,3 Ko
      Tu écris la liste des joueurs et tu définis un nom à la plage. Pour ajouter et retirer facilement des joueurs à la liste, définis ta plage dynamiquement (cf. image). Tu trouveras pas mal de sujets à ce propos sur le forum/sur internet.
      Ensuite tu alimentes la ListBox avec la plage joueurs. Pour savoir comment alimenter une ListBox --> http://silkyroad.developpez.com/VBA/...serForm/#LII-G
    2. Pour le numero de licence sur la feuille de match, tu n'as pas besoin de VBA, tu peux directement inscrire une formule sur la feuille de match.
      1. Tu nommes la plage de cellules qui fait la correspondance entre le nom des joueurs et leur numeros de licences
        Nom : plage nommée dynamique.png
Affichages : 73
Taille : 13,9 Ko
      2. Tu écris la formule suivante :
        Nom : recherchev.png
Affichages : 70
Taille : 6,1 Ko
        A adapter à ton format de feuille.
    3. Pour savoir comment "griser" une cellule : utilise l'enregistreur de macro.

    J'espère que ça te permettra d'avancer

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    7 591
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : juin 2007
    Messages : 7 591
    Points : 13 837
    Points
    13 837

    Par défaut

    Personnellement, je te déconseille de passer par un userform, surtout si tu es débutant.
    Faire des Userform est une tentation qu'on a souvent quand on commence le VBA mais on s'aperçoit en fin de compte que c'est aussi peu pratique pour l'utilisateur que pour le développeur.

    Je te conseille plutôt de créer ton formulaire dans un simple onglet, ce sera beaucoup plus simple à gérer, à organiser et à récupérer les données.
    Dans cette feuille de paramètre tu places un bouton "Générer la feuille de match" qui, une fois tous les paramètres sélectionnés, créera la feuille souhaitée.

    Un tel bouton peut être créé en plaçant dans la feuille une simple forme (rectangle, ovale ou autre) que tu peux customiser à loisir.
    Ensuite, tu fais un clic droit sur cette forme > "Affecter une macro..." et tu indiques la macro qui va créer ta feuille de match.

    Cette macro peut agir simplement en copiant une feuille "Modèle".
    https://msdn.microsoft.com/fr-fr/lib.../ff837784.aspx
    Et ensuite placer dans cette nouvelle feuille les informations issues de ta feuille de paramètres.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    Bonjour

    Tout d'abord je tiens à vous remercier pour vos commentaires.

    J'ai bien pris en compte vos remarques mais le fait de modifier mon fichier ne me dérange pas (c'est en manipulant qu'on apprends lol)

    J'ai donc continué sur mon idée et j'ai su faire la programmation de mes optionbutton ainsi que de mes textbox.

    Le seul soucis que je rencontre c'est concernant les chekbox.
    J'arrive bien à faire apparaitre ce que je veux lorsque chekbox est cochée mais j'aimerai qu'en fonction des chekbox cochées les noms se mettent les uns en dessous des autres et ce en ne cliquant qu'une seule fois sur mon bouton éditer la feuille de match car pour l'instant si je coche une chekbox et que je valide le nom se met bien sur la première ligne mais si je veux que le nom suivant s'affiche en dessous du précédent je dois alors décochée la checkbox précédemment cochée en cocher une autre et ensuite valider de nouveau. Sans cela les nom ne se décalent pas les uns en dessous des autres.

    Auriez vous une idée

    Merci d'avance

    Cédric

  6. #6
    Futur Membre du Club
    Homme Profil pro
    pensionné
    Inscrit en
    mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : pensionné

    Informations forums :
    Inscription : mai 2017
    Messages : 4
    Points : 6
    Points
    6

    Par défaut chexkbox

    Bonjour Cédric,


    Voici une solution qui pourrait te convenir.
    A toi de voir
    Fichiers attachés Fichiers attachés

  7. #7
    Futur Membre du Club
    Homme Profil pro
    pensionné
    Inscrit en
    mai 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : pensionné

    Informations forums :
    Inscription : mai 2017
    Messages : 4
    Points : 6
    Points
    6

    Par défaut chexkbox

    Re Bonjour Cédric,

    Voici une nouvelle solution améliorée
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Débuter la programmation XCode pour créer une application Mac OS X
    Par mkolivier dans le forum Développement OS X
    Réponses: 3
    Dernier message: 24/08/2013, 16h37
  2. [VBA-E] Afficher une feuille excel pour la modifier
    Par z980x dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/05/2006, 22h21
  3. [VBA-E]Créer une feuille qui contient du code
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 04/04/2006, 15h58
  4. [VBA-E] controle pour afficher une feuille excel
    Par SpaceFrog dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/02/2006, 11h17
  5. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo