Propriété ou methode non gérée par cet objet...erreur 438

Bonjour le Forum,

J'ai repris un code de jacques Boisgontier , que j'ai adapté à ma sauce, ainsi que l'userform, quand j'essaye de valider un changement , j'ai cette erreur qui apparait...!

Hier tous fonctionnait très bien...aujourd'hui c 'est une autre histoire...

erreur

J'ai aussi des problèmes avec les combobox(qui sont en couleur orange clair), problème de réinitialisation quand je supprimais une fiche...

15test-verb.xlsm (64.03 Ko)

Je vous remercie d'avance pour votre aide

OLi

Bonjour,

Vous avez votre Frame1 qui contient autre chose que des OptionButton d'où l'erreur

Voici ce qu'il vous faut

   For Each c In Me.Controls
    ' Frame1 contient une Combobox et un TextBox, il faut donc l'éviter
    If TypeName(c) = "Frame" And c.Name <> "Frame1" Then
       témoin = False
       For Each opt In c.Controls
         If opt.Value Then témoin = True
       Next opt
        If témoin = False Then MsgBox c.Name & "Non coché!": Controls(c.Name).SetFocus: Exit Sub
    End If
   Next c

A+

Bonjour

une idée

 If opt = True Then témoin = True

peut être que ca fonctionne

merci

Bonjour Iliyes,

Non la syntaxe est bonne également sans le "= True"

Edit : j'ai corrigé ce que j'avais dis

Bonjour BrunoM45

merci, pour le code envoyé

et merci pour

Non la syntaxe est bonne également sans le "= True"

merciiiiiiiiiiiiiiiiii

Bonjour BrunoM45, iliyes

Merci beaucoup cela fonctionne nickel....

J'ai toujours un problème de réinitialiser les combobox, quand je supprime une fiche. Dans le combox , il y a toujours le nom de la fiche supprimée et deux fois la fiche qui reste... Peux-tu avoir la gentillesse de regarder d'où vient le problème ... et quand je clique dessus, évidemment erreur...

OLi

Bonjour

essaie à la fin de la macro Private Sub bt_valider_Click()

      raz
'      UserForm_Initialize
      ligneEnreg = f.[A65000].End(xlUp).Row + 1
  End If
  UserForm_Initialize
End Sub

la même choses en changeant la macro suivante

Private Sub B_sup_Click()
If ligneEnreg <> "" Then
  If MsgBox("Etes vous sûr de supprimer " & Me.Nom & "?", vbYesNo) = vbYes Then
    f.Rows(ligneEnreg).Delete
    raz
'    UserForm_Initialize
    ligneEnreg = f.[A65000].End(xlUp).Row + 1

  End If
 End If
 UserForm_Initialize
 End Sub

merciiiiiiiiiiiiiiii

re iliyes,

Hélas, cela ne change rien du tout...

preuve

Bonsoir,

Votre ComboBox n'est pas vidée à l'initialisation de l'USF

Donc quand vous supprimez un enregistrement, les enregistrements encore existants dans la BD viennent s'ajouter à ceux déjà présents dans la Combo

Mettez

Me.CléCherchée.Clear

Au tout début, vous verez... c'est magique

Private Sub UserForm_Initialize()
  Me.CléCherchée.Clear
  Titre = Application.Transpose(Range("Tableau1").ListObject.HeaderRowRange)
  Set f = Sheets("BD")
  lignefin = f.[A65000].End(xlUp).Row
  If lignefin > 2 Then
    clé = f.Range("A2:A" & lignefin).Value
    Tri clé, LBound(clé), UBound(clé)
    Me.CléCherchée.List = clé
    Me.Rempl1.List = clé
    Me.Rempl2.List = clé
  Else
    If lignefin = 2 Then Me.CléCherchée.AddItem f.Range("A2")
  End If
  Me.Objet.List = Array("Entrée en fonction(1er Jour presté", "Rentrée en fonction", "Augmentation d'attributions", "Maintien d'attributions", "Réduction d'attributions", "Fin de Fonctions(Dernier jour presté", "Autres")
  Me.Statut.List = Array("D", "V", "S", "I", "ST")
  Me.Cumuls.List = Array("Pas de Cumul", "Cfr cumul interne Annexe 6", "Cfr cumul externe Annexe 7")
  Me.Justification.List = Array("Création d'emploi", "Remplacement", "Nomination ou Engagement à titre définitif", "Mutation ou changement d'affectation", "Congé pour exercer une autre fonction", "Modif.organisation interne", "D.P.P.R.", "Congé/Abscence/Disponibilité")
  Me.Justification2.List = Array("Supression d'emploi", "Fin de remplacement", "Mise en disponibilité", "Démission", "Mise à la retraite", "Décès", "ENCADREMENT PEDAGOGIQUE", "Autres")
  Me.Absences.List = Array("Absence d'un jour", "Début d'une absence de plus d'1 jour", "Reprise après absence de plus d'un jour")

  ligneEnreg = f.[A65000].End(xlUp).Row + 1
  Me.Enreg = ligneEnreg
  Me.CléCherchée.SetFocus
End Sub

A+

Bonsoir,

Effectivement c'est magique...

Encore Merci BrunoM45 et iliyes pour votre aide...

Je clôture ici ce poste

OLi

Rechercher des sujets similaires à "propriete methode geree cet objet erreur 438"