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 :

Combinaison entre trois Tableau "Array" en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut Combinaison entre trois Tableau "Array" en VBA
    bonjour

    je souhaite combiner entre trois tableaux "Array" pour obtenir un tableau Résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Arr = Sheets("Paiement").range("A2:I12").value
    Brr = Sheets("Comptabilisation").range("A2:G34").value
    Crr = Sheets("Fournisseur").range("A2:H21").value
    J'ai créé deux clés pour permettre de chercher les Cle2 dans Cle1
    et si cle1 = cle2 je cherche dans Crr pour regrouper les champs souhaiter pour remplir la feuil résultat

    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
    For i = LBound(Arr) To UBound(Arr )
          Arr(i, 9) = pour remplir la cle1
     
    Next i
     
    For j = LBound(Brr) To UBound(Brr)
          Brr(j, 8) = pour remplir la cle2
     
    Next j
     
    For p = LBound(Brr) To UBound(Brr)
               For k = LBound(Arr) To UBound(Arr )
                          If Brr(j, 8)= Arr(k, 9) Then
                                   'Recherche Arr(k, 1) dans la Crr(m,1) 
                                                      'la première ligne Feuil resulfatât = concaténer les champs du trois feuil                    
     
     
                          End If
     
               Next k
    Next p
    Voici un simple exemple
    merci
    Fichiers attachés Fichiers attachés

  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 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    D'après ce que vous expliquez, je n'ouvre pas les classeurs joints, il me semble que Power Query devrait résoudre votre problème.
    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
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut
    Salut
    Merci Mr Philippe Tulliez pour votre massage
    je n'ai jamais utiliser le Power Query mais je vais essayé .

  4. #4
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut
    merci
    je vais chercher dans d'autre forum

  5. #5
    barpasc
    Invité(e)
    Par défaut
    sinon, les tableaux en mémoire sont des traitements très rapides si les dimensions sont connues avant. Je ne sais pas si ça s'applique à vos données car vous ne semblez pas avoir beaucoup de lignes...

    par exemple

    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
    dim tableauEnMemoire() As Double
    ...
    '''code qui trouve NombreDeLignesConnues et NombreDeColonnesConnues par exemple:
    NombreDeLignesConnues= 0
    For p = LBound(Brr) To UBound(Brr)
               For k = LBound(Arr) To UBound(Arr )
                          If Brr(j, 8)= Arr(k, 9) Then
                                   'Recherche Arr(k, 1) dans la Crr(m,1) 
                                                      'la première ligne Feuil resulfatât = concaténer les champs du trois feuil                    
                             NombreDeLignesConnues = NombreDeLignesConnues+1
                          End If
     
               Next k
    Next p
    ...
    ReDim tableauEnMemoire(NombreDeLignesConnues, NombreDeColonnesConnues)
    ...
    c'est juste une piste à complèter, c'est un peu long mais avec l'appui d'un bouton, c'est très rapide

  6. #6
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut
    merci Mr barpasc

Discussions similaires

  1. [XL-2010] Comment prendre en compte un tableau (Array) dans une fonction vba?
    Par statista dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/04/2011, 15h16
  2. Tableau(Array) sans taill
    Par krfa1 dans le forum ASP
    Réponses: 4
    Dernier message: 21/09/2005, 22h31
  3. tableau array
    Par laclac dans le forum Langage
    Réponses: 8
    Dernier message: 01/09/2005, 11h04
  4. [debutant]problematique entre trois tables
    Par djodjo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/08/2005, 15h21
  5. requete entre trois tables
    Par fpouget dans le forum Langage SQL
    Réponses: 8
    Dernier message: 08/03/2005, 21h44

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