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 :

Extraction de données par UserForm


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 295
    Points : 285
    Points
    285
    Par défaut Extraction de données par UserForm
    Bonjour à tous les lecteurs : Sur un exemple récupéré sur une formation j'aimerais améliorer l'exemple sur lequel j'ai déjà modifié l'UserForm, mais n'étant pas suffisamment performant dans l'écriture de code j'espère trouver une âme charitable pour m'aider à finir la conception de mon code.
    Je joints quelques copies d'écran pour la compréhension.

    Explication:

    Recherche Type d’extraction :Combobox3 Liste déroulante : Région – Type ménage
    Comment rendre dynamique les Labels en fonction du type d’extraction ainsi que les combobox 1 et 2.
    De plus comment adapter les listes déroulantes en fonction du critère Type région ou Type ménage 1 ou 2
    Exemple : Je choisis : Type ménage dans le type d’extraction : Dans la liste ménage 1 j’ai le choix entre Célibataire Couple ou Famille : Je choisis Célibataire ; Dans la liste ménage 2 On ne doit pas pouvoir choisir Célibataire un 2eme fois il doit me rester Couple et Famille et inversement.
    Dernier critère à honorer Il faut pouvoir nommer la feuille ainsi extraite avec le nom choisi dans le type d’extraction : soit Région ou Type ménage puis les critères choisis dans les 2 listes déroulantes : par exemple Célibataire ou Famille. Ce qui donne par ex comme nom de feuille. Type ménage Célibataire Famille

    Voici le code qui fonctionne mais n'est pas adapté à ce que je désire obtenir.

    Par avance je vous remercie.

    Code vb : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     Private Sub Btn_Extraction_Type_de_ménage_Click()
    'Déclaration des variables.
    Dim Ma_liste_menage As Range
    Dim Liste_region As Range
    Dim NbLignes As Long
    Dim LigneActive As Long
    'Affectation des variables
    Set Liste_des_Regions = Données.Range("A2", Données.Range("A1").End(xlDown))
    NbLignes = Liste_des_Regions.Rows.Count
    LigneActive = 0
     
    'On insere une nouvelle feuille.
    Sheets.Add
    'L'idée est de nommer la feuille selon la région sélectionnée.
    'If MaRegion.Offset(1, 6).Value = Me.ComboBox1_Régions.Value Then
    'On extrait la ligne de titre
    Données.Range("A1").EntireRow.Copy ActiveCell
    Range("A2").Select
     
    'On boucle chaque région se trouvant dans la liste.
    For Each Ma_liste_menage In Liste_des_Regions '= nom de la feuille liste des régions colonne 2
     
    'On se décale d'une ligne vers le bas
    LigneActive = LigneActive + 1
    'On recherche la région qui à été saisie dans la liste déroulante
    If Ma_liste_menage.Offset(0, 9).Value = Me.ComboBox1_Type_ménage_1.Value Then 'Valeur 9 = démarre l'extraction après la colonne 9
    'Si la région est trouvée alors on récupére l'enregistrement du client.
    Ma_liste_menage.EntireRow.Copy ActiveCell
    ActiveCell.Offset(1, 0).Select
    End If
    If Ma_liste_menage.Offset(0, 9).Value = Me.ComboBox2_Type_ménage_2.Value Then 'Valeur 9 = démarre l'extraction après la colonne 9
    'Si la région est trouvée alors on récupére l'enregistrement du client.
    Ma_liste_menage.EntireRow.Copy ActiveCell
    ActiveCell.Offset(1, 0).Select
    End If
    'On paramèttre la barre de progression
    Me.ProgressBar1.Value = (LigneActive / NbLignes) * 100
    Next Ma_liste_menage
    'Mise en forme des Extractions
    'On va ajuster la largeur des colonnes des tableaux
    Range("A1").Select
    ActiveCell.CurrentRegion.EntireColumn.AutoFit
    Unload Me 'On ferme le formulaire
    'INFORMATION: Row source = Liste_des_Régions Charge la liste des régions de la combobox
    End Sub
    Images attachées Images attachées     

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour Patmicro, bonjour le forum,

    Je sais que ce n'est pas dans les habitudes de ce forum mais sans le fichier qui va bien je vois mal comment t'aider. Il faudrait recréer ton environnement et je ne m'en sens pas le courage...
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 295
    Points : 285
    Points
    285
    Par défaut
    Re : Merci pour l'interet que tu porte à ma demande.

    Si possible je peux déposer le ficher Excel.

  4. #4
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2014
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2014
    Messages : 295
    Points : 285
    Points
    285
    Par défaut
    Bonjour voici le lien permettant de télécharger le fichier.

    https://www.cjoint.com/c/JHEkkn2QLNA

Discussions similaires

  1. [XL-2007] Extraction de données par sous ensemble
    Par apt dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 08/09/2012, 13h53
  2. [XL-2007] Ajout de données par userform dans une feuille excel
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/12/2011, 14h41
  3. Réponses: 5
    Dernier message: 31/08/2011, 02h37
  4. Extraction de donnée par ADO ACCESS vers Excel
    Par roidurif dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/05/2009, 18h29
  5. Extraction de données par dates
    Par fancho dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/03/2009, 18h47

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