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 d'exécution 380: Invalid proprety value


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut Erreur d'exécution 380: Invalid proprety value
    Bon, je débute sur vba, jai crée une listview qui me permet d'afficher 3 états du stock: critique confortable et urgent avec 3 couleurs differentes.*
    Je bloque sur cette erreur: Erreur d'exécution 380: Invalid proprety value et on me dit impossible d'ouvrir le fichier mk:@MSKTStore:cmctl198.chm*

    Merci d'avance pour votre aide

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    Private Sub UserForm_Initialize()
     
    Dim i As Integer
    Dim a As Integer
    Dim tblBD As Range
    Dim ligne As Integer
    a = 6
    Set principal = ThisWorkbook
     
    Sheets("Liste des pièces").Select
    Do While Range("C" & a) <> ""
     
    If Range("J" & a).Value < Range("K" & a).Value Then
    Range("AH" & a).Value = "CRITIQUE"
     
     ElseIf Range("J" & a).Value > Range("AG" & a).Value Then
     
    Range("AH" & a).Value = "CONFORTABLE"
     
    ElseIf Range("K" & a).Value < Range("J" & a).Value < Range("AG" & a).Value Then
    Range("AH" & a).Value = "URGENT"
     
    End If
     
     
    a = a + 1
    Loop
     
     
      With Me.ListView1
        With .ColumnHeaders
          .Clear
          .Add , , "Désignation", 112
          .Add , , "Référence", 112
          .Add , , "Quantité", 112
          .Add , , "Stock minimum", 112
          .Add , , "Point de Cmd", 112
          .Add , , "Etat du stock", 112
        End With
       .Gridlines = True
       ListView1.View = lvwReport
       tblBD = Range("A6:AH" & [A65000].End(xlUp).Row).Value
       ligne = 0
       For i = 1 To UBound(tblBD)
         ligne = ligne + 1
        .ListItems.Add , , tblBD(i, 1)  'désignation
        .ListItems(ligne).ListSubItems.Add , , tblBD(i, 3)    'Référence
        .ListItems(ligne).ListSubItems.Add , , tblBD(i, 10)   'Quantité
        .ListItems(ligne).ListSubItems.Add , , tblBD(i, 11)   'Stock mini
        .ListItems(ligne).ListSubItems.Add , , tblBD(i, 33)   'Point de commande
        .ListItems(ligne).ListSubItems.Add , , tblBD(i, 34)   'Etat du stock
      Next
     End With
     
     
      For x = 1 To ListView1.ListItems.Count
         If ListView1.ListItems(x).ListSubItems(5).Text = "CONFORTABLE" Then
            ListView1.ListItems(x).ListSubItems(5).ForeColor = RGB(0, 160, 0) 'vert
         End If
     
         If ListView1.ListItems(x).ListSubItems(5).Text = "CRITIQUE" Then
            ListView1.ListItems(x).ListSubItems(5).ForeColor = RGB(224, 96, 0) 'orange
         End If
     
         If ListView1.ListItems(x).ListSubItems(5).Text = "URGENT" Then
            ListView1.ListItems(x).ListSubItems(5).ForeColor = RGB(255, 0, 0) 'rouge
         End If
     
         If ListView1.ListItems(x).ListSubItems(5).Text = "" Then
            ListView1.ListItems(x).ListSubItems(5).ForeColor = xlNone
         End If
      Next x
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Le code que tu montres-là utilise des membres totalement inconnus d'un contrôle Listview. Certains d'entre eux correspondent à un contrôle (msflexgrid) n'ayant absolument rien à voir avec une Listview ...

    Je ne saurais par ailleurs jamais trop conseiller d'éviter d'utiliser des contrôlees non natifs de VBA/Excel (Listview n'est pas un contrôle natif de VBA).

  3. #3
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Salut est ce qu'il faut déclaré les variables ou quoi exactement? sinon j'en ai vraiment besoin d'utiliser la listeview vu que je veux obtenir des résultats qui dépendent des couleurs, donc la solution d'éviter la listeviex est exclu

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut obli d'une précision
    Citation Envoyé par unparia Voir le message
    Je ne saurais par ailleurs jamais trop conseiller d'éviter d'utiliser des contrôlees non natifs de VBA/Excel (Listview n'est pas un contrôle natif de VBA).
    unparia , il est vrai que la portabilité de ce contrôle d’une version à une autre n’est guère prévue, mais dans un cas comme celui-ci …
    L’erreur vient de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ListView1.ListItems(x).ListSubItems(5).Text = "" Then
      ListView1.ListItems(x).ListSubItems(5).ForeColor = xlNone
    End If
    Remplace xlNone par vbBlack (noir) ou autre.
    Mieux
    - supprime ces 3 lignes
    ou
    - remplace, en faisant attention à la casse, la partie couleurs par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For x = 1 To ListView1.ListItems.Count
         Select Case ListView1.ListItems(x).ListSubItems(5)
           Case "CONFORTABLE": ListView1.ListItems(x).ListSubItems(5).ForeColor = VbGreen      'vert
           Case "CRITIQUE": ListView1.ListItems(x).ListSubItems(5).ForeColor = RGB(224, 96, 0) 'orange
           Case "URGENT": ListView1.ListItems(x).ListSubItems(5).ForeColor = VbRed             'rouge
         End Select
      Next
    Edit : j’ai oublié de préciser que tblBD étant un tableau, remplace, la déclaration, Dim tblBD As Range par Dim tblBD()

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour ordonc
    mais dans un cas comme celui-ci …
    L’erreur vient de ..... etc ...
    Pas uniquement. Chez moi, par exemple et entre autres, ma listview n'a pas de membre Gridlines
    Tu n'as peut-être pas la même version de ce contrôle ...
    Cette propriété (gridlines) existe bien sur les listviews, mais ... celles natives de VB.Net

    EDIT : Mimiii_123 voudra bien (puisqu'il ne l'a pas fait) nous dire quelle est la première ligne dénoncée ... ?

  6. #6
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Citation Envoyé par OrDonc Voir le message
    unparia , il est vrai que la portabilité de ce contrôle d’une version à une autre n’est guère prévue, mais dans un cas comme celui-ci …
    L’erreur vient de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ListView1.ListItems(x).ListSubItems(5).Text = "" Then
      ListView1.ListItems(x).ListSubItems(5).ForeColor = xlNone
    End If
    Remplace xlNone par vbBlack (noir) ou autre.
    Mieux
    - supprime ces 3 lignes
    ou
    - remplace, en faisant attention à la casse, la partie couleurs par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For x = 1 To ListView1.ListItems.Count
         Select Case ListView1.ListItems(x).ListSubItems(5)
           Case "CONFORTABLE": ListView1.ListItems(x).ListSubItems(5).ForeColor = VbGreen      'vert
           Case "CRITIQUE": ListView1.ListItems(x).ListSubItems(5).ForeColor = RGB(224, 96, 0) 'orange
           Case "URGENT": ListView1.ListItems(x).ListSubItems(5).ForeColor = VbRed             'rouge
         End Select
      Next
    Edit : j’ai oublié de préciser que tblBD étant un tableau, remplace, la déclaration, Dim tblBD As Range par Dim tblBD()



    Salut j'ai essayé avec ça, j'ai obtenu un mauvais résultat au lieu de m'afficher les colonnes on 'affiche les lignes de la première colonne répartie sur les colonnes du tableau

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Citation Envoyé par unparia Voir le message
    EDIT : Mimiii_123 voudra bien (puisqu'il ne l'a pas fait) nous dire quelle est la première ligne dénoncée ... ?

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    re

    Je n’aime pas travailler à l’aveuglette donc pour finir … le type d’affichage d'un tel contrôle est déterminé par ListView1.View = lvwReport (ce que tu avais au départ !).
    Chez moi :
    Images attachées Images attachées  

  9. #9
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Citation Envoyé par OrDonc Voir le message
    re

    Je n’aime pas travailler à l’aveuglette donc pour finir … le type d’affichage d'un tel contrôle est déterminé par ListView1.View = lvwReport (ce que tu avais au départ !).
    Chez moi :
    Salut, bah effectivement j'ai déclaré .View = lvwReport mais c'est pas la source du problème.
    Voilà deux images qui illustrent le résultat obtenu chez moi.
    Images attachées Images attachées   

  10. #10
    Membre à l'essai
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Avril 2019
    Messages : 6
    Par défaut
    Salut le code n'affiche aucune erreur

  11. #11
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    1)
    Je bloque sur cette erreur: Erreur d'exécution 380: Invalid proprety value
    2)
    Salut le code n'affiche aucune erreur
    Euh ... l'erreur 380 entre forcément en mode debug (sauf si gestion d'erreur, absente dans le code montré)

Discussions similaires

  1. Run Time error '380' Invalid property value
    Par Chaindog dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 08/06/2011, 09h45
  2. [XL-2002] Erreur d'exécution 380
    Par guenfood dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/01/2011, 13h55
  3. Erreur d'exécution '380'
    Par guenfood dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/11/2010, 12h03
  4. Réponses: 0
    Dernier message: 20/01/2010, 17h57
  5. Erreur 3271 invalid property value
    Par schwinny dans le forum Access
    Réponses: 2
    Dernier message: 12/07/2006, 11h17

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