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 :

Bdd / listview / Optimisation de code [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut Bdd / listview / Optimisation de code
    Bonjour Le Forum,
    Je reviens vers vous pour ma bdd
    Je cherche maintenant à tout gérer via des USF

    Je créer donc un USF général avec des onglets
    Dans l'un de ces onglets "BDD" je rappel toute la BDD présente dans l'onget "BASE EMPLOI'"


    Mon code est un peu lourd, je trouve, comment pourrais-je l'alléger ?

    On active l'USF en cliquant que sur G6 "Sommaire"

    Bonne fin d'aprem
    Seb



    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    'Private Sub BDD_BeforeLabelEdit(Cancel As Integer)
     Private Sub UserForm_Initialize()
     
     
     With GENERAL
    .Top = 0
    .Left = 0
    .Height = Application.UsableHeight
    .Width = Application.UsableWidth
    End With
     
     
     
    Set F = Sheets("BASE EMPLOI")
    With Me.BDD
     
    Entetes = Array("B", "C", "D", "E", "G", "H", "I", "J", "K", "L", "N", "O", "P", "Q", "R", "T", "U", "V", "W", "X", "Y", "AA", "AB", "AC", "AD", "AF", "AG", "AH", "AI", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB")
    largeur = Array(80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70, 80, 80, 80, 70, 70, 70)
        With .ColumnHeaders
            .Clear
            nbr = -1
            For nbr = 0 To 47
               .Add , , F.Cells(1, Entetes(nbr)), largeur(nbr) '80
            Next
     
        End With
        .View = 3                   ' type Report
        .Gridlines = True           ' affichage de lignes
        .FullRowSelect = True       ' sélection complète de la ligne
        .HideColumnHeaders = False  ' afficher les en-têtes de colonnes
        .LabelEdit = 0              ' Autoriser la saisie
        '.LabelEdit = 1             ' N'autoriser la saisie
     
    End With
    Call LISTING
    End Sub
    Sub LISTING()
     
     'Remplit la Listview avec les données d'Excel
     
    BDD.ListItems.Clear
     
    Set F = Sheets("BASE EMPLOI")
     
    Entetes = Array("B", "C", "D", "E", "G", "H", "I", "J", "K", "L", "N", "O", "P", "Q", "R", "T", "U", "V", "W", "X", "Y", "AA", "AB", "AC", "AD", "AF", "AG", "AH", "AI", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB")
     
       Set Plage = F.Range("b2:b" & F.Range("b65000").End(xlUp).Row)
        For Each Cel In Plage
            With BDD
     
                .ListItems.Add , , Cel
     
                For nbr = 1 To 47
     
                .ListItems(.ListItems.Count).ListSubItems.Add , , F.Cells(Cel.Row, Entetes(nbr))  'Cel.Offset(0, 1)
     
                Next
     
            End With
        Next
     
    End Sub
     
     
     
    Private Sub BDD_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
     
       'Permet le classement par clic sur le titre de la colonne
     
        BDD.Sorted = False
        BDD.SortKey = ColumnHeader.Index - 1
     
        If BDD.SortOrder = lvwAscending Then
            BDD.SortOrder = lvwDescending
            Else
            BDD.SortOrder = lvwAscending
        End If
     
       BDD.Sorted = True
    End Sub
     
    Private Sub MODIFICATIONS_Click()
       Dim i As Integer, j As Integer
     
        'Boucle sur toutes les lignes
        For i = 1 To BDD.ListItems.Count
            Cells(i, 1) = BDD.ListItems(i).Text
     
            'Boucle sur les colonnes
            For j = 1 To BDD.ColumnHeaders.Count - 1
                Cells(i, j + 1) = BDD.ListItems(i).ListSubItems(j).Text
            Next j
        Next i
     
     
    End Sub
    BASE EMPLOI - DEMO.xls

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    c'est le problème de l'utilisation d'un UserForm mais franchement là cela va …

  3. #3
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut
    Salut !
    ya des chances ...
    Je débute en USF "intégrale" et je risque de me prendre les pieds dans le tapis ....
    Je cherche un moyen "festif" de gérer ma Bdd, les USf me paraissait sympa ....

    As-tu une autre idée ?

    Bonne aprem

    Seb

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    A part revenir du côté de la feuille de calculs et d'un formulaire classique

    ou d'une simple plage de saisie déprotégée, voir du côté d'Access ou tout autre SGBD …

  5. #5
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut
    Bonjour,
    Tu as résont
    Je me repenche sur mon projet !

    Merci

    Bonne journée

    seb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. optimiser le code d'une fonction
    Par yanis97 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/07/2005, 08h41
  2. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  3. optimiser le code
    Par bibi2607 dans le forum ASP
    Réponses: 3
    Dernier message: 03/02/2005, 14h30
  4. syntaxe et optimisation de codes
    Par elitol dans le forum Langage SQL
    Réponses: 18
    Dernier message: 12/08/2004, 11h54
  5. optimisation du code et var globales
    Par tigrou2405 dans le forum ASP
    Réponses: 2
    Dernier message: 23/01/2004, 10h59

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