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 :

Lire et traiter un array d'un classeur fermé


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 7
    Par défaut Lire et traiter un array d'un classeur fermé
    Bonjour à tous,

    J'ai un classeur avec un userform me permettant de rechercher un mot clé et afficher toutes les lignes d'une base de donnée contenant ce mot clé dans mon userform.

    Pour l'instant la table se trouve dans le même classeur que le userform.

    Est-il possible de faire la même chose, mais lorsque la base de donnée se trouve dans un autre classeur et sans ouvrir et le fermer pour traiter la requete et sans copier la table dans le classeur contenant le userform (perte de temps) au moyen d'une procédure ADO par exemple ?

    Je ne maitrise pas totalement cette technique donc votre aide me serait la bienvenue. Je vous remercie d'avance grandement pour votre aide.

    Voici le 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
    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
    Private Sub T1_Change()
        Dim i&, fin&, y&, a&, mem As Boolean
        Application.ScreenUpdating = 0
        If mem1 Then Exit Sub
        
        If T1 = "" Then ListBox1.Clear: T2 = "": T3 = "": T4 = "": T5 = "": C3.Visible = 0: C4.Visible = 0: Exit Sub
        
        ListBox1.Clear
       
    ' ici référence à l'array se trouve dans la même feuille que le userform
     
        With Feuil1
            y = 1
            fin = .Range("A" & Rows.Count).End(xlUp).Row
            aa = .Range("A2:F" & fin)
        End With
    
        For i = 1 To UBound(aa)
            aa(i, 5) = i + 1
        Next i
        For i = 1 To UBound(aa)
            For a = 1 To UBound(aa, 2)
                If aa(i, a) Like "*" & T1 & "*" Then aa(i, 6) = "oui": y = y + 1: Exit For
    
            Next a
        Next i
        If y = 1 Then Exit Sub
        If y = 2 Then
            ' de 1 à l'indice 8
            For i = 1 To UBound(aa)
                If aa(i, 6) = "oui" Then
                    ListBox1.AddItem aa(i, 1)
                    ' de l 'indice 1 à l'indice 4
                    For a = 1 To UBound(aa, 2) - 2
                        ListBox1.List(ListBox1.ListCount - 1, a - 1) = aa(i, a)
                        Controls("T" & a + 1) = aa(i, a)
                    Next a
                    mem = 1: Exit For
                End If
            Next i
        Else
            ReDim bb(y - 1, UBound(aa, 2) - 1)
            y = 1
            For i = 1 To UBound(aa)
                If aa(i, 6) = "oui" Then
                    For a = 1 To UBound(aa, 2) - 1
                        bb(y, a) = aa(i, a)
                    Next a
                    y = y + 1
                End If
            Next i
        End If
        With ListBox1
            .ColumnCount = 5
            .ColumnWidths = "80;80;50;80;0"
            If mem Then Exit Sub
            .List = bb
        End With
    End Sub
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2007] Requête OLEDB, écriture contenu d'un array dans un classeur fermé
    Par Vorens dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/06/2012, 00h15
  2. [Toutes versions] lire un classeur fermé
    Par Badgraf dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/04/2010, 16h35
  3. [XL-2007] lire classeur fermé sans "OLE DB"
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2010, 14h54
  4. Lire dans des classeurs fermés Excel2007 xlsx et xlsm
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 26/08/2007, 15h59
  5. lire et traiter un fichier XML avec XMLDOM
    Par Phiss dans le forum ASP
    Réponses: 14
    Dernier message: 13/02/2007, 16h47

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