Erreur avec listview vba excel

Bonjour
Lorsque j'ouvre mon application et que je clique directement sur ma listview vierge j'ai un message d'erreur 91 - variable objet ou de bloc non défini, ce que je comprends très bien puisque ma listview n'a pas été initialisée.
Comment puis je générer un message dans une msgbox pour signaler l'erreur et résoudre ce soucis. par exemple un msg "Vous avez oublié de cocher etc....."

merci pour votre aide

6 réponses

  1. Contributeur
    Bonjour,

    sinon il y a sûrement une méthode pour vérifier si la listview est nulle ou vide.

    Oui il y a un moyen, compter les lignes de la listview comme ceci à mettre dans la Sub de remplissage à la fin avant End Sub
    Ajouter un label nommé lblcount

    lblcount = ListView1.ListItems.Count & " fichier" & IIf(ListView1.ListItems.Count > 1, "s", "") 'compte les fichiers


    et dans l'évènement clic de ta listview au debut, mettre ceci:

    Private Sub ListView1_Click()
    If lblcount = "0 fichier" Then Exit Sub


    Si vous pouvez éviter de vous servir de

    On Error Resume Next

    Car cela peut cacher d'autres erreurs (bug)!!!!!!!!

    Salut à Maurice
    1
    1. merci cs_Le Pivert
      j'ai bien noté la solution.
      Avec la réponse de Maurice "OptionButton1.Value = True" je n'ai plus besoin de faire un contrôle et je peux donc enlever le "On Error Resume Next"
      0
  2. bonjour
    sans voir ton modele on ne peux pas savoir
    surtout sur une Listeview
    A+
    Maurice
    0
    1. Bonsoir Maurice,

      je te joins un de tes fichiers
      si je clique directement sur la listview sans autre préalable cela génère un message d'erreur
      je voudrais que si je clique directement sur cette listview et
      qu'elle soit vide ou nulle je puisse afficher un msg d'erreur
      via une msgbox

      merci

      https://www.cjoint.com/c/EBtvjYff1Oz
      0
      1. C'est très simple et efficace, en effet

        sinon il y a sûrement une méthode pour vérifier si la listview est nulle ou vide. Si tu as le temps pourrais tu m'éclairer merci

        Pour ce qui concerne mon travail d'hercule j'en suis aux ultimes contrôles
        j'ai constitué un dossier épais comme çà avec toutes les infos que me fournies. merci Maurice
        0
        1. Bonjour
          tu peux aussi mettre a la fin de Activate
          je prefere
          OptionButton1.Value = True
          

          A+
          Maurice
          0
          1. Merci Maurice avec cette réponse je n'ai plus besoin de mettre "On Error Resume Next" puisque l'option Vaisselle apparaît par défaut
            0
        2. Bonjour
          ses pas fini dur
          une astuse mettre On Error Resume Next dans le Sub
          Private Sub ListView1_Click()
          On Error Resume Next
          Lig = Val(ListView1.SelectedItem)
             TextBox1.Value = F02.Cells(Lig, 2).Value
             TextBox2.Value = F02.Cells(Lig, 5).Value
             Stock = F02.Cells(Lig, 5).Value
             TextBox3.Locked = 0 ' False
             TextBox3.SetFocus
          End Sub
          

          A+
          Maurice
          -1