IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Croisement de données VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2018
    Messages : 2
    Par défaut Croisement de données VBA
    Bonjour à tous, et tout d'abord merci de me lire,

    Je suis actuellement en train de développer un petit outil en vba permettant de faire du management d'équipe et de missions. Etant donné que c'est mes grands débuts en VBA j'espère que vous serez indulgent :p

    Alors voilà, je rencontre une difficultésur un de mes userforms, et sans doute le plus important. Au lancement du classeur, l'utilisateur s'authentifie et son nom d'utilisateur est alors stocké dans une variable globale Username. Ensuite, cet utilisateur peut aller renseigner les heures qu'il effectue sur les différentes missions dans l'userform Mes dossiers :

    Nom : mesdossiers1.JPG
Affichages : 262
Taille : 41,5 Ko

    Mon userform mes Dossiers sert à renseigner le nombre d’heure effectuer par l’utilisateur authentifié.

    Il y a donc deux feuilles excels liées à cet userform, la feuille activités, qui liste toutes les missions des utilisateurs et leur date de fin et la feuille username, une feuille dédiée à chaque membre de l’équipe qui ressemble à ça :

    Nom : mesdossiers2.JPG
Affichages : 240
Taille : 61,3 Ko

    Mon but est que les utilisateurs puissent, par semaine, entrer le nombre d’heures qu’ils ont fait par mission. Ce que j’essaye donc de faire c’est, lorsque l’on selectionne une semaine par exemple S4, toutes les missions dont la date de fin n’est pas avant ou après cette semaine, s’affichent dans les labels (la date de fin est renseignée dans la feuille activités). Et, c’est là le plus compliqué pour moi, une fois les missions affichées je souhaiterais donc croiser les missions et les semaines pour pouvoir remplir dans la case intersection le nombre d’heure que l'utilisateur aurait alors renseigné dans la textbox attribuée à la mission effectuée comme ceci :

    Nom : mesdossiers3.JPG
Affichages : 225
Taille : 62,6 Ko


    En gros, si l'utilisateur sélectionne S4 dans la combobox, et qu'il rempli la textbox en face de la mission "Test of the Year" par 24, la case correspondant à l'intersection de Test of the Year et S4 dans la feuille Username se remplisse avec la valeur du Textbox (dans les screenshots se serait par exemple la case F4)
    Avez-vous une idée, un exemple de code que je pourrais adapter à mon cas ? J’ai cherché pendant des heures et en tant que débutant, je n’ai pas réussi à me dépatouiller tout seul… J’espère avoir été assez clair dans mes explications, si besoin je peux essayer de vous en fournir d’autres…

    Merci d'avance du temps que vous prendrez à me lire,



    Simon

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par simtmc Voir le message
    Au lancement du classeur, l'utilisateur s'authentifie et son nom d'utilisateur est alors stocké dans une variable globale Username.
    C'est inutile puisque c'est déjà une propriété de Application.
    https://msdn.microsoft.com/fr-fr/VBA...property-excel
    En plus, donner à une variable le même nom qu'une propriété standard, c'est chercher les ennuis.

    En gros, si l'utilisateur sélectionne S4 dans la combobox, et qu'il rempli la textbox en face de la mission "Test of the Year" par 24, la case correspondant à l'intersection de Test of the Year et S4 dans la feuille Username se remplisse avec la valeur du Textbox (dans les screenshots se serait par exemple la case F4)
    Il suffit d'utiliser la fonction Find sur la zone de tes n° de semaine et d'obtenir le numéro de colonne avec la propriété Column.
    Tu fais la même chose pour obtenir le numéro de ligne avec Row en lançant un Find sur la colonne B pour avoir la ligne de la mission.
    Et tu as tes deux coordonnées pour renseigner la cellule que tu souhaites.
    https://msdn.microsoft.com/fr-fr/lib.../ff839746.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff198200.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff196952.aspx

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2018
    Messages : 2
    Par défaut
    Citation Envoyé par Menhir Voir le message
    C'est inutile puisque c'est déjà une propriété de Application.
    https://msdn.microsoft.com/fr-fr/VBA...property-excel
    En plus, donner à une variable le même nom qu'une propriété standard, c'est chercher les ennuis.


    Il suffit d'utiliser la fonction Find sur la zone de tes n° de semaine et d'obtenir le numéro de colonne avec la propriété Column.
    Tu fais la même chose pour obtenir le numéro de ligne avec Row en lançant un Find sur la colonne B pour avoir la ligne de la mission.
    Et tu as tes deux coordonnées pour renseigner la cellule que tu souhaites.
    https://msdn.microsoft.com/fr-fr/lib.../ff839746.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff198200.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff196952.aspx
    Bonjour Menhir et merci de ta réponse,

    Pour ce qui est de l'Username, il faut savoir que j'utilise une feuille "RegistreUtilisateur" avec des noms de comptes et mots de passe spécifiques à l'application. Si j'ai bien compris la propriété de Application utilise l'Username de la session Windows ?

    Pour la fonction Find, je vais regarder tout ça dans la journée et te ferait un petit retour, merci de ton aide !!

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

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par simtmc Voir le message
    Si j'ai bien compris la propriété de Application utilise l'Username de la session Windows ?
    Exactement.

    Pour ce qui est de l'Username, il faut savoir que j'utilise une feuille "RegistreUtilisateur" avec des noms de comptes et mots de passe spécifiques à l'application.
    A moins que tes utilisateurs se connectent à Windows avec des comptes génériques, je ne vois pas trop l'intérêt d'avoir un double mot de passe.
    C'est plus compliqué pour l'utilisateur, c'est plus compliqué pour le développeur et c'est moins fiable.

Discussions similaires

  1. ajouter des critères de croisement des données vba
    Par wahabts7 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/03/2010, 17h59
  2. Changement de base de données = vba incompatible
    Par schuitonzo dans le forum Access
    Réponses: 22
    Dernier message: 22/02/2007, 16h46
  3. [Excel] Croisement de données
    Par S-kAyN dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 19/07/2006, 08h26
  4. [Croisement des données] Comment gérer plusieurs BDD ?
    Par candice9 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 09/04/2006, 22h32
  5. [VBA-E]replacement données excel par données VBA
    Par plante.douce dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/04/2006, 20h23

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