1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2016
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : juin 2016
    Messages : 104
    Points : 59
    Points
    59

    Par défaut Erreur 2042: Remplissage d'une Listbox

    Bonjour à tous

    Je parcours ma Sheet et il m'affiche une erreur à certaines cellules. Elles correspondent aux cellules N/A généré en Matlab. Le problem est que mon tab(I, colClé) ne me renvoie pas "N/A" mais Error 2042. Quelqu'n sait comment gérer l'erreur. J'aimerai garder le N/A. Mon permet de passer à la case suivant mais me rempli un vide dans ma Listbox, je voudrais un N/A à la place. Merci d'avance


    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
    Function FiltreMultiCol2Transp2(Tbl, colClé1, Clé1, ColResult, Optional colClé2, Optional Clé2, Optional colClé3, Optional Clé3, Optional colClé4, Optional Clé4)
      If Clé3 = "" Then colClé3 = colClé1: Clé3 = Clé1
      If Clé4 = "" Then colClé4 = colClé1: Clé4 = Clé1
      LB = LBound(ColResult) + 1: UB = UBound(ColResult) - LBound(ColResult) + 1
      Dim b(): n = 0
      For i = LBound(Tbl, 1) To UBound(Tbl, 1)
      On Error Resume Next
         If Tbl(i, colClé1) <= Clé1 And Tbl(i, colClé2) <= Clé2 And Tbl(i, colClé3) <= Clé3 And Tbl(i, colClé4) <= Clé4 Then
          n = n + 1: ReDim Preserve b(LB To UB, 1 To n)
          For c = LBound(ColResult) To UBound(ColResult)
            'b(c + 1, n) = tbl(i, ColResult(c))
            If IsNumeric(Tbl(i, ColResult(c))) Then
                b(c + 1, n) = Format(Tbl(i, ColResult(c)), "0.00")
            Else
            b(c + 1, n) = Tbl(i, ColResult(c))
            End If
          Next c
        End If
       Next i
       If n > 0 Then FiltreMultiCol2Transp2 = b
    End Function
    Robin

  2. #2
    Membre régulier
    Homme Profil pro
    Chôme Dur des Ambulances
    Inscrit en
    avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chôme Dur des Ambulances
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 77
    Points : 88
    Points
    88

    Par défaut

    bonjour,
    XlErrNA = 2042 = #N/A --> dans msdn.microsoft.com/fr-fr/library/office/ff839168.aspx

    remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    On error Resume Next
    par
    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
     
    On Error Goto GestionDesErreur
    '...
    'à la fin du code si c'est une sub par exemple
    Exit Sub
    GestionDesErreur :
        Select Case Err.Number
            Case 2042 'XlErrNA = 2042 = #N/A
                '---ICI---on ecrit----"#N/A" dans la liste
            Case 2000 'XlErrNull = 2000 = #NULL!
                '---ICI---on traite "#NULL!" 
            Case Else
                'Traite les autres situations ici...
        End Select
        'Reprend l'exécution au niveau de la ligne à l'origine de l'erreur
        Resume
    @+JP

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2016
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : juin 2016
    Messages : 104
    Points : 59
    Points
    59

    Par défaut

    J 'ai fait comme tu me l'as indiqué ca passe à tour les tours de boucles dans gestionerreur et ca fait une bouble infini. ca ne detecte pas l'erreur 2042 peut tu exactement ecrire la synthèse stp je dois avoir raté qq chose .
    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Chôme Dur des Ambulances
    Inscrit en
    avril 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chôme Dur des Ambulances
    Secteur : Santé

    Informations forums :
    Inscription : avril 2012
    Messages : 77
    Points : 88
    Points
    88

    Par défaut

    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Case 2042 'XlErrNA = 2042 = #N/A
                '---ICI---on ecrit----"#N/A" dans la liste
    à chaque erreur 2042 le programme est redirigé vers la ligne "ICI".
    c'est à cette ligne que tu corrige l'erreur.

    mais ce n'est pas la solution...!!!! (la BONNE solution)

    quel est le réel problème ? --> erreur 2042 --> #N/A --> pas de valeur?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Tbl(i, colClé1) <= Clé1....
    en mode débug, dans la fenêtre espion ton tableau Tbl çà dit quoi? est ce que il y a ...="" c'est à dire pas de valeur? à comparer à Clé1 par exemple
    en parlant de Clé1 , perso j'évite de mettre des accents et des "s" de pluriel a une variable.

    le remède c'est comment eviter la comparaison ( la rencontre) de rien ("") avec une valeur.
    1° tentative, essais de déclarer ton "tableau as variant"
    2° essais avant toutes opérations avec ton tableau, tu fais en sorte (avec une boucle) que toute les dimensions ="" soit =" " ou =0
    3° essais avant de comparer tu teste si not... ="" then

    @+JP

Discussions similaires

  1. [Débutant] Remplissage d'une listbox via une requete SQL
    Par arngrimur dans le forum ASP.NET
    Réponses: 9
    Dernier message: 26/09/2011, 11h31
  2. [AC-2003] Remplissage d'une ListBox avec des éléments d'un Recordset
    Par Sclarckone dans le forum VBA Access
    Réponses: 4
    Dernier message: 10/08/2011, 13h40
  3. Remplissage d'une ListBox selon affichage dans Combo
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/07/2010, 15h52
  4. remplissage d'une listbox
    Par nabilfaouzi dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/02/2009, 01h35
  5. Réponses: 6
    Dernier message: 07/06/2006, 12h41

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