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 :

Recherche V Multiple [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut Recherche V Multiple
    Bonjour à tous,

    je viens d'essayer de réaliser un algorithme afin de trouver les champs qui sont affectés à une valeur dans un tableau .

    Pour illustre:
    colA___col B_Col c_Col d_Col e__col f__col g
    _____________________________________
    AA_____123______________________________
    BB______12______________________________
    AA_____15_____________________________
    CC_____125___________________________
    CC_____4_____________________________
    AA_____ 8______________________________
    BB_____4______________________________
    AA ____9______________________________


    J'aimerai que ca me retourne
    colA___col B_Col c_Col d_Col e__col f__col g
    _____________________________________
    AA___123_______________15____8____9
    BB____12________________4___________
    AA____15________________8____9 ______
    CC____125_______________4____________
    CC_____4_____________________________
    AA____8_________________9____________
    BB____4______________________________
    AA ___9______________________________
    Voici mon algroithme:
    Qu'est ce qui cloche?

    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
    Sub test1()
     
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim nblig As Integer
     
    Dim vara As String
    Dim varb As String
    Dim varc As String
     
    nblig = Range(Selection, Selection.End(xlDown)).Rows.Count
     
    Range("A1").Select
    For i = 1 To nblig
    vara = Cells("A" & i).Value
     
            Do While j < nblig
            varb = Cells("A" & j).Value
            varc = Cells("B" & j).Value
                If vara = varb Then
                Cells(i, k).Value = varc
                k = k + 1
                j = j + 1
                Else
                j = j + 1
                End If
                K + 5
            Loop
    Next i
     
    End Sub
    Merci pour votre aide,

    azerty5

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Avec le tableau en A1:G8
    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
    Sub test1()
    Dim i As Integer, j As Integer, k As Integer, nblig As Integer
    Dim vara As String, varb As String, varc As String
        nblig = Range("A1").End(xlDown).Row
        For i = 1 To nblig - 1
            k = 5
            vara = Range("A" & i).Value
            For j = i + 1 To nblig
                varb = Range("A" & j).Value
                varc = Range("B" & j).Value
                If vara = varb Then
                    Cells(i, k).Value = varc
                    k = k + 1
                End If
            Next j
        Next i
    End Sub
    Cordialement.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 2
    Par défaut Merci
    Ca marche parfaitement Merci beaucoup

    Effectivement la boucle While était inefficace puisqueles valeurs n'étaient pas triées par ordre alphabétique.
    Pour ma culture perso, Quelle est la différence entre Cells et Range?


    Merci encore,
    Cordialement

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Si je te dis que Cells renvoie la collection des cellules de la feuille sous forme d’un objet Range et que l’objet Range représente une cellule, une ligne, une colonne ou une sélection de cellules, cela ne va pas t’avancer.

    Aussi, pour faire simple, je vais te répondre dans quel cas utiliser l’un ou l’autre.
    Si tu souhaites faire référence à une cellule, tu peux utiliser Cells ou Range.
    Exemple :
    Range("A1").Value = 15 est équivalent à Cells(1, 1).Value = 15

    Par contre, si tu souhaites faire référence à un groupe de cellules, tu dois utiliser Range.
    Exemple :
    Range("A1 :B10").address ou
    Range(Cells(1,1), Cells(10,2)).address ou
    Range(Range("A1"), Range("B10")).address
    représentent tous l’adresse $A$1:$B$10

    Cordialement.

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

Discussions similaires

  1. [MySQL] Problème avec la recherche de multiples mot clés
    Par Akim13 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/05/2011, 12h29
  2. Macro rechercher remplace multiple
    Par supai dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/02/2010, 09h34
  3. recherche à sélection multiple
    Par Kalite dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 06/11/2007, 11h54
  4. recherche à choix multiple
    Par meddeb2001 dans le forum Access
    Réponses: 3
    Dernier message: 30/08/2006, 11h22
  5. [SQL] Recherche à résultats multiples SQL - PHP
    Par Paradise01 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/08/2006, 15h52

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