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 :

Erreur 2042: Remplissage d'une Listbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Points : 81
    Points
    81
    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 extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    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
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Points : 81
    Points
    81
    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 extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 435
    Points
    1 435
    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
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

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, 12h31
  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, 14h40
  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, 16h52
  4. remplissage d'une listbox
    Par nabilfaouzi dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/02/2009, 02h35
  5. Réponses: 6
    Dernier message: 07/06/2006, 13h41

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