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 :

UserForm et Sélection de donnée avec filtre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    developpeur
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : developpeur
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut UserForm et Sélection de donnée avec filtre
    Bonjour à tous,

    Je suis débutant en VBA et dans le cadre d'un stage je dois réaliser une application Excel. C'est pour cela que je viens demander un peu d'aide..

    Je dois réaliser une ComBox qui parcours une longue colonne dans laquelle il y a beaucoup d'utilisateurs. La ligne de chaque utilisateurs est donc lié aux autres colonnes .
    Pour le Moment j'arrive donc a afficher tout mes noms dans la ComboBox, et supprimer les doubles, et récupérer les valeurs correspondantes..

    Le problème est que les utilisateurs sont parfois en doubles ou plus , donc les valeurs correspondantes change à chaque fois et je dois toutes les récupérerai, tout en affichant q'une seul fois le nom dans la ComboBox...

    Petit Exemple:

    Utilisateurs(Colonne A) Valeur (colonne B)

    Mr.Y / 23
    Mr.X / 25
    Mr.X / 300
    Mr.Y / 0

    Donc si vous avez une idée je suis preneur. Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    N'y a-t-il pas une contradiction entre cette phrase
    Pour le Moment j'arrive donc a afficher tout mes noms dans la ComboBox, et supprimer les doubles, et récupérer les valeurs correspondantes..
    et celle-ci
    Le problème est que les utilisateurs sont parfois en doubles ou plus , donc les valeurs correspondantes change à chaque fois et je dois toutes les récupérerai, tout en affichant q'une seul fois le nom dans la ComboBox...
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Femme Profil pro
    developpeur
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : developpeur
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut
    Oui effectivement , cela ne ma pas choqué en me relisant ... J'y passe tellement de temps dessus que je m'en suis perdu :/

    Donc je reformule^^
    Je l'ai affiche donc bien dans la ComboBox sans les doubles , mais je ne récupère la valeur que du premier utilisateurs trouver(les doubles sont donc ignorer et par conséquent leurs lignes et valeurs aussi..)
    et du coup je ne sais pas comment faire pour récupérer le reste.

    Encore désole pour la mauvaise formulation...

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est effectivement plus clair.
    Je ne sais pas comment tu fais pour récupérer les noms sans les doublons mais si c'est par lecture séquentielle de la liste des données (par exemple dans une boucle), tu peux utiliser la fonction Somme.Si
    En VBA ont peut utiliser les fonctions d'excel à l'aide de l'instruction Application.WorksheetFunction
    Petit exemple en VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Application.WorksheetFunction.SumIf(Range("$A$2:$A$50"), Range("A2"), Range("$B$2:$B$50"))
    A2:A50 Plage où se trouve les noms
    B2:B50 Plage où se trouve les valeurs
    A2 : Le critère qui permet de renvoyer la somme du nom se trouvant en A2
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Candidat au Club
    Femme Profil pro
    developpeur
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : developpeur
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut
    Merci de ta réponse rapide !
    En faite , il faut que lorsque je sélectionne le nom dans la comboBox que tout cela se fasse automatiquement.
    Voila un petit bout de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub UserForm_Initialize()
        Dim j As Integer
     
        'Récupère les données de la colonne USERS..
        For j = 1 To Range("P65536").End(xlUp).Row
            CboSelect = Range("P" & j)
            '...et filtre les doublons
            If CboSelect.ListIndex = -1 Then
               CboSelect.AddItem Range("P" & j)
            End If
      Next j
     
    End Sub
    Puis quand je sélectionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Private Sub CboSelect_Click()
    Dim DATE1 as Variant
     
     
    For j = 1 To Range("R65536").End(xlUp).Row
       If CboSelect.ListIndex <> -1 Then
     
      DATE1 = Range("R" & CboSelect.ListIndex + 1)
     
     
        End If
    Next j
     
    If DATE1 = "" Then
    MsgBox ("Pas de  DATE1  on prend par default la valeur de la colonne début!    : LIGNE :" & CboSelect.ListIndex + 1)
    'MsgBox (Debut)
    Else:  DATE1 = 90 +DATE1
    MsgBox (DATE1)
     
    End If
     
    End Sub
    Voila une petit partie:
    Pour le moment donc mes users s'affiche dans la comboBox et quand je le sélectionne il me renvoie la valeur de la colonne que je demande à la ligne correspondante . Mais du coup si j'ai 5 MR. X dans Users , j'aurai 5 dates différentes , Mais la je ne peux en récupérer que une seul de cette façon...

    Peut être en utilisant un tableau ?
    Merci d'avance de ton aide , en espérant que je ne sois pas trop brouillon ^^

Discussions similaires

  1. Extraction de données avec filtre d'un fichier excel
    Par debutant2010 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/05/2014, 13h25
  2. [AC-2007] Export Excel d'un sous formulaire feuille de données avec filtres
    Par lio33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/01/2012, 10h24
  3. recherche dans une plage de données avec filtre
    Par depi67 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/10/2008, 14h17
  4. base de données avec filtre automatique
    Par DIAD1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/05/2008, 13h58
  5. Sélection des données d'un champ avec le focus de la souris
    Par Nerva dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 13/12/2005, 15h23

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