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 :

Fonction find et recherches liées


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2019
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 133
    Par défaut Fonction find et recherches liées
    Bonjour,

    J'utilise Excel 2019, et actuellement je rencontre un problème avec une macro que je n'arrive pas à finaliser. J'espère trouver la solution ici.

    En effet, j'ai un classeur qui contient 3 feuilles (Feuil1, Feuil2 et Feuil3).

    Sur la Feuil1, et dans la cellule "H7" j'ai une liste déroulante avec plusieurs valeurs qui correspondent à des régions, et sur chaque régions on a des tickets déclarés. Le but de la macro, est d'afficher sur la colonne J de cette feuille, uniquement les numéro de tickets corresponde à deux critères:

    1) Premièrement, aller dans la Feuil2 et vérifier qu'on a bien des tickets déclarés sur la région choisi sur la Feuil1 (A noter que chaque région peut avoir plusieurs tickets)
    Car sur la Feuil2 on a un tableau dont la colonne A contient les numéros de tickets, et la colonne C contient la région correspondante.

    2) Deuxièmement, supposant que l'étape 1 est concluante et on trouvé des tickets pour la région, il faut que ce ticket soit présent également dans la Feuil3 colonne "B"

    Si les deux étapes sont concluantes pour un ticket, la macro affichera le numéro de ce ticket dans la colonne J Feuil1. Si non passer au prochain ticket.

    Voici mon code que je n'arrive pas à finaliser. Actuellement j'arrive à afficher seulement tous les tickets de la zone choisie sans passer par la deuxième vérification:

    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
    Sub New_CRA()
    Dim cfn As Range
    Dim C
     
     
    Region= Sheets("Feuil1").Range("H7")
     
    Sheets("Feuil1").Range("J2:L10000").ClearContents
     
    Set cfn = Sheets("Feuil2").Range("C:C").Find(what:=Region, LookIn:=xlValues, lookat:=xlWhole)
    cfna = cfn.Address
     
    Do
     
    Sheets("Feuil1").Range("J" & Rows.Count).End(xlUp).Offset(1, 0).Value = Sheets("Feuil2").Range("A" & cfn.Row).Value
     
    Set cfn = Sheets("Feuil2").Range("C:C").FindNext(cfn)
     
    Loop Until cfn.Address = cfna
     
    End Sub
    Merci d'avance.
    Cdt;

  2. #2
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2019
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 133
    Par défaut
    J'ai essayé ce 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
    Sub New_CRA()
    Dim cfn As Range
    Dim C
     
     
    Region = Sheets("Feuil1").Range("H7")
     
     
    Sheets("Feuil1").Range("J2:L10000").ClearContents
     
    Set cfn = Sheets("Feuil2").Range("C:C").Find(what:=Region, LookIn:=xlValues, lookat:=xlWhole)
    cfna = cfn.Address
     
    Do Until cfn.Address = cfna
     
    Set C = Sheets("Feuil3").Range("B:B").Find(what:=Sheets("Feuil2").Range("A" & cfn.Row), LookIn:=xlValues, lookat:=xlWhole)
    If Not C Is Nothing Then
    Sheets("Feuil1").Range("J" & Rows.Count).End(xlUp).Offset(1, 0).Value = Sheets("Feuil2").Range("A" & cfn.Row).Value
    End If
     
    Set cfn = Sheets("Feuil2").Range("C:C").FindNext(cfn)
     
    Loop
     
    End Sub
    Mais rien ne 'affiche.
    Cdt;

Discussions similaires

  1. Recherche du numéro de ligne d'une date avec la fonction FIND
    Par FLANNNN dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/11/2019, 12h20
  2. [XL-2010] Fonction Find - recherche stricte ?
    Par cdurep dans le forum Excel
    Réponses: 1
    Dernier message: 14/03/2014, 10h05
  3. Rechercher une valeur absolue avec fonction Find
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2008, 08h25
  4. Réponses: 3
    Dernier message: 06/10/2007, 08h24
  5. [VBA-E] Fonction "FIND"
    Par cinc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/09/2005, 11h16

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