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 :

Macro excel - comparer des tableaux à partir d'un choix


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2024
    Messages : 4
    Par défaut Macro excel - comparer des tableaux à partir d'un choix
    Bonjour à tous,

    Je tâtonne en macro et je cherche désespéramment à comparer des infos de 2 tableaux pour me donner une info exploitable dans un 3ème tableau en fonction d'un choix.
    J'ai un 1er tableau qui se présente comme ça :
    CHG Cible
    TEST1 A B C D
    TEST2 A
    TEST3
    TEST4 D
    TEST5
    TEST6 C E
    TEST7
    TEST8 B F

    Un second ensuite qui se présente comme ça :
    Beta1 A
    Beta1 B
    Beta1 C
    Beta2 D
    Beta2 E
    Beta3 F

    je voudrais , si le choix est Beta1, obtenir ceci en sortie dans mon 3eme tableau :
    TEST1 A B C
    TEST2 A
    TEST3
    TEST4
    TEST5
    TEST6 C
    TEST7
    TEST8 B

    idem si le choix est beta2, on obtiendrait :
    TEST1
    TEST2
    TEST3
    TEST4 D
    TEST5
    TEST6 E
    TEST7
    TEST8

    et ainsi de suite.

    J'ai réussi à créer mes tableaux en vb mais je ne sais pas comment les lire et les comparer pour créer mon tableau de sortie.

    J'espère avoir été clair dans mes explications pour vous permettre de me donner des idées pour m'en sortir.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Par défaut
    Bonjour

    Tu écris " si le choix est Beta1" => Le choix fait où ?

    Tu écris "J'ai réussi à créer mes tableaux en vb" => D'où viennent ils que veux tu dire par là (tableau VB => variable de type tableau ?) ?

    Un formule Excel ne serait pas suffisant ? (Quel est ta version d'Excel ?)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2024
    Messages : 4
    Par défaut
    Bonsoir Duanra21,

    Le choix sera fait par l'utilisateur dans une autre cellule, que je récupère en variable, du fichier . C'est vrai que j'aurais peut-être dû le préciser.

    Pour mes tableaux, j'ai fait des choses simples type :
    Redim TabApp(derniereLigne -2,1)

    For i=0 to derniereLigne -2
    TabApp(i,0)=range("A"&i+2)
    TabApp(i,1)=range("B"&i+2)
    Next


    Cette macro viendrait s'insérer dans une autre qui gère la mise en forme et certains traitements des données (insertion des données, filtrage, mise en forme...) c'est pourquoi je ne peux pas le faire via une simple formule.
    L'idée du choix est de pouvoir avoir un résultat qui s'adapte au lecteur (le lecteur étant celui qui fait le choix, on doit ne lui afficher à terme que les données qui le concerne)
    J'ai volontairement schématisé mais la colonne "cible" de l'un des tableaux peut parfois compter des cellules avec plus de 100 entrées à l'intérieur d'oû l'idée d'automatiser au max car à la main ca prend un temps fou.
    Par contre, le second tableau est lui simple puisqu'il est un référentiel donc 1 entrées par cellule.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Par défaut
    J'ai un doute : Pour le 1er tableau TEST1 A B C D veux dire ?

    5 colonnes (max à 5 colonnes ?)
    Test1 A B C D

    ou 2 colonnes

    Test1 A B C D

    "A B C D" ou "ABCD"

    Ton code semble indique 2 colonnes

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2024
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Décembre 2024
    Messages : 4
    Par défaut
    oui il s'agit bien de 2 colonnes :
    - la 1ere contient 1 donnée unique
    - la seconde peut contenir 0 ou x données


    et le second tableau contient
    - une 1ere colonne avec 1 donnée (mais qui peut être la même sur plusieurs lignes)
    - une 2nde colonne avec 1 donnée unique

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Par défaut
    Ok


    Nom : EXCEL_Cf7p6PYlLt.png
Affichages : 76
Taille : 14,1 Ko

    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
     
    Sub RemplirtabResultats()
        Dim tabCriteres()   As Variant
        Dim tabCible()      As Variant
        Dim tabResultats()  As Variant
        Dim i As Long, j As Long, k As Long
        Dim tabCle          As String
        Dim strVal          As String
     
        strVal = "Beta1"
     
        ' Alimentation des tableaux (pour le test)
        tabCible = Range("A2:B9").Value ' Exemple de plage pour tabCible
        tabCriteres = Range("D2:E7").Value
     
        ReDim tabResultats(1 To UBound(tabCible, 1), 1 To 2)
     
        ' Copier la 1ère colonne de tabCible dans la 1ère colonne de tabResultats
        For i = 1 To UBound(tabCible, 1)
            tabResultats(i, 1) = tabCible(i, 1)
        Next i
     
        ' Remplir la 2ème colonne de tabResultats
        For i = 1 To UBound(tabCriteres, 1)
            If tabCriteres(i, 1) = strVal Then
                tabCle = tabCriteres(i, 2)
                For j = 1 To UBound(tabCible, 1)
                    ' Est présent ?
                    If InStr(tabCible(j, 2), tabCle) > 0 Then _
                            tabResultats(j, 2) = tabResultats(j, 2) & tabCle
                Next j
            End If
        Next i
     
        ' Écrire les résultats dans une plage (pour le test)
        Range("G2").Resize(UBound(tabResultats, 1), UBound(tabResultats, 2)).Value = tabResultats
    End Sub

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

Discussions similaires

  1. [XL-2007] Envoyer un mail avec outlook à partir d'excel avec des tableaux dans le corps du mail
    Par BarneyYagami dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/11/2014, 17h48
  2. Excel > ppt : des tableaux et non pas des graphes
    Par nat54 dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 14/11/2008, 09h38
  3. creation d'une macro excel modifiant des caracteres
    Par babyshaq dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 04/06/2008, 12h10
  4. macro pour comparer 2 tableaux sous word
    Par mrom34 dans le forum VBA Word
    Réponses: 2
    Dernier message: 12/12/2007, 16h40

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