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 avec deux conditions et deux boucles?


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 240
    Points : 116
    Points
    116
    Par défaut Recherche avec deux conditions et deux boucles?
    Bonjour,

    Je suis nouveau ici, et je suis un peu perdu. Veuillez m'excuser si ce sujet a déjà été abordé...

    J'ai un fichier avec deux onglets, l'un nommé "CIC" et l'autre "Délai".
    Dans le fichier CIC, j'ai une liste de code articles en colonne A, et 12 mois tournants en ligne 1 (à partir de B1 bien sûr) en partant du mois en cours. Par exemple, pour ce mois-ci, la liste va d'octobre-08 à septembre-09.

    Dans l'onglet Délai, j'ai une liste d'articles plus longue en colonne A et différents mois en ligne 1 (pas toujours correspondants aux mois de mon autre onglet, mais toujours avec le même format mois-année). Et des valeurs bien sûr (par exemple, 100 pour l'article 000001 en décembre-08).

    Donc je suis mauvais au moment de coder. J'aimerais faire une recherche automatique qui me rapporterait les valeurs de l'onglet "Délai" dans les bonnes cellules de l'onglet "CIC".

    J'espère pouvoir trouver de l'aide ici.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut neiluj26 et le forum
    Bienvenue
    Dans le fichier CIC, j'ai une liste de code articles en colonne A, et 12 mois tournants en ligne 1
    Dans l'onglet Délai, j'ai une liste d'articles plus longue en colonne A et différents mois en ligne 1
    Ce que je comprends :
    Tableau en CIC :
    -Mois en ligne
    -Articles en colonne
    En gros, un extrait de la base de données "Délai" sur l'année future d'un nombre d'articles limités

    N'ayant pas accès présentement à Excel, je ne peux donc tester, mais ça devrait être de ce type :
    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
    Dim F as worksheet
    dim X1 as integer
    dim X2 as integer
    dim Y1 as long
    dim Y2 as long
    dim flg as boolean
    'MEI ------------------------
    set F = Workseeht("Délai")
    worksheet("CIC").activate
    'Traitement -----------------
    for X1 =2 to range("IV1").end(xltoleft).column '(à vérifier)
       'recherche du mois --------
       flg=true
       for X2 = 2 to f.range("IV1").end(xltoleft).column
          if f.cells(1,x2)=cells(1,x1) then
             flg=false
             exit for
          endif
       next X2
       'vérification mois ----------
       if flg then
          rep=msgbox("mois " & cells(1,x1) & " pas trouvé. On continue ?",VByesno, "erreur mois")
          if rep=vbno then exit sub
       else
       'boucle articles ---------------
          for Y1 =2 to [A65536].end(xlup).row
             for Y2=2 to F.[A65536].end(xlup).row
                if cells(Y1,"A")=F.cells(Y2,"A") then
                   cells(Y1,X1)=F.cells(Y2,X2)
                   exit for
                endif
             next y2
          next y1
       endif
    next X1
    Comme tout est fait de tête, une vérification me semble indispensable
    on fait une boucle sur la recherche du mois , puis sur l'article. À la réflexion, l'inverse serait mieux (moins de mois que d'articles)
    une recherche par Find serait plus rapide (mais sans l'aide d'excel, je ne peux être sûr de la justesse de la syntaxe de l'instruction).
    T'as encore du pain sur la planche
    A+
    Et comme Internet fait des siennes, la première mouture était intempestive

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 240
    Points : 116
    Points
    116
    Par défaut
    Ta solution marche. Merci pour ton aide.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/03/2014, 13h54
  2. Réponses: 2
    Dernier message: 21/10/2013, 16h49
  3. [MySQL] Créer un moteur de recherche avec des conditions supplémentaires
    Par ghislaingaudin dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/05/2012, 11h46
  4. Requête avec 2 conditions sur deux variables
    Par mensoif dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/10/2009, 13h50
  5. [FLASH MX2004] Deux conditions dans une boucle
    Par pierrot10 dans le forum Flash
    Réponses: 1
    Dernier message: 06/11/2005, 16h31

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