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

Excel Discussion :

APPLICATION.MATCH dans un array


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Juillet 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut APPLICATION.MATCH dans un array
    Bonjour,

    Voila je dois effectué une recherche d'une valeur dans un array a plusieurs dimensions.
    Voici mon code (une partie):

    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
    For d = 2 To dercor
        tmp = Split(tabcore(d, 1), "_")
        
        If tmp(2) = "T" Then
            GoTo nextcore
        End If
        
        If tmp(0) <> "A" Then
            If tmp(0) <> "B" Then
                If tmp(0) <> "F" Then
                    If tmp(0) <> "O" Then
                        
                            GoTo nextcore
                    End If
                End If
            End If
        End If
        
        p = ""
        p = Application.Match(Trim(CStr(tabcore(d, 1))), Application.Index(tabg2r, , 3), 0) + 1
        If Not IsError(p) Then
            tabcore(d, 2) = tabg2r(p, 2)
            tabcore(d, 3) = tabg2r(p, 1)
            tabcore(d, 4) = tabg2r(p, 4)
    
            Else
            GoTo nextcore
        End If
            
    nextcore:
    Next d
    Je rencontre un souci lors que je fais ma recherche dans la table tabg2r et que la valeur cherchée n'est pas présent il m'indique une erreur 13.
    A savoir les valeurs cherchées et présentes dans tabg2r ne posent aucun souci.

    Pourriez-vous me dire si vous avez une astuce pour la gestion d'erreur lorsque la variable est absente du tableau ?

    En vous remerciant d'avance et au plaisir de vous lire.

    Cdt,

    Tom

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Essayez ceci (non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            p = ""
            On Error Resume Next
            p = Application.Match(Trim(CStr(tabcore(d, 1))), Application.Index(tabg2r, , 3), 0) + 1
            If Err.Number = 0 Then
                tabcore(d, 2) = tabg2r(p, 2)
                tabcore(d, 3) = tabg2r(p, 1)
                tabcore(d, 4) = tabg2r(p, 4)
            End If
            On Error GoTo 0
    nextcore:
        Next d
    Cdlt

Discussions similaires

  1. [XL-2013] Application.Match avec un Array et un spit
    Par Sebphyto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/01/2016, 09h37
  2. Réponses: 5
    Dernier message: 18/11/2005, 22h11
  3. Insérer dans un array
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 29/03/2005, 09h22
  4. PB avec MATCH dans une requete.
    Par pjl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/04/2004, 11h18

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