XL 2013 Erreur si vide

Appo1985

XLDnaute Occasionnel
Bonjour .
J’ai pu adapter les codes qui permettent de faire une recherche intuitive à mon userform

Cependant il y a toujours deux erreurs que je voudrais que vous m’aidiez à corriger.

En effet, premièrement quand je supprime tous les données de la feuille tout en laissant seulement la première ligne (l’entête) il y a un message d’erreur qui s’affiche à l’ouverture du userform.

Deuxièmement, quand j’efface le contenu du combobox1, il y a aussi un message d’erreur. Je voudrais donc si possible ne pas autoriser l’effacement du contenu du combobox1 ou a défaut une autre solution pour éviter l’erreur.
ci-joint le fichier
Merci par avance
 

Pièces jointes

  • OM.xlsm
    31.9 KB · Affichages: 3
Solution
Tout est lié, s'il n'y a pas d'enregistrement votre offset(-1) pose problème.
J'ai pallié avec :
VB:
titre = Application.Index(f.Range("A2:F" & DL + 1).Offset(-1).Value, 1)
Et pour les titres j'ai pallié en prenant DL=2 lorsque DL=1

patty58

XLDnaute Occasionnel
Bonjour Appo1985, bonjour à tous
Dans ton module1 :
VB:
Sub Rectangleàcoinsarrondis1_Cliquer()
Set f = Sheets("BDD")
   If Application.CountA(f.Range("A:A")) = 1 Then
       MsgBox "BDD vide"
       Exit Sub
   End If

UserForm2.Show
End Sub

Puis dans le code Combobox1_Change , en première ligne:
Code:
If Me.ComboBox1 = "" Then Exit Sub

Bonne journée
 

Appo1985

XLDnaute Occasionnel
Bonjour Appo1985, bonjour à tous
Dans ton module1 :
VB:
Sub Rectangleàcoinsarrondis1_Cliquer()
Set f = Sheets("BDD")
   If Application.CountA(f.Range("A:A")) = 1 Then
       MsgBox "BDD vide"
       Exit Sub
   End If

UserForm2.Show
End Sub

Puis dans le code Combobox1_Change , en première ligne:
Code:
If Me.ComboBox1 = "" Then Exit Sub

Bonne journée
Merci.
Pour le combobox ça marche parfaitement.
Pour l'ouverture du userform ça marche : erreur '424'
Objet requis
 

Appo1985

XLDnaute Occasionnel
Bonjour Appo, Patty,
Un essai en PJ, avec :
Dans UserForm_Initialize :
Code:
DL = f.[a65000].End(xlUp).Row
If DL = 1 Then Exit Sub ' Car BDD vide
Dans ComboBox1_Change :
VB:
If Me.ComboBox1 = "" Then Exit Sub ' Car Combobox vide
Merci bien.
Il ya un autre problème.
Si on supprime les données, même l'entête disparaît au niveau du listebox( ce n'est pas grave)
Si on écrit maintenant une ligne en dessous de l'entête sur la feuille, un message d'erreur s'affiche à l'ouverture du userform
 

Discussions similaires

Réponses
2
Affichages
240
Réponses
2
Affichages
880
Compte Supprimé 979
C

Statistiques des forums

Discussions
315 090
Messages
2 116 107
Membres
112 661
dernier inscrit
ceucri