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. 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. 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
        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. 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