problème erreur 438

  • Initiateur de la discussion Initiateur de la discussion Kacy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

Kacy

Guest
bonjour,

j'ai un formulaire qui contient des boutons. Chaque bouton ouvre un autre formulaire avec un bouton retour pour revenir sur le précédent. Lorsque je clic sur un bouton, puis sur retour et que je rappui sur ce même bouton, l'erreur 438 apparait.

il fait ça que pour certains boutons alors qu'ils sont tous définis pareil.

il m'affichait l'erreur sur un frame.visible contenue dans une procédure

j'ai mis On Error Resume Next pour la contourner

mais l'erreur s'est déplacé sur combobox.additem activesheets.cells(2,j) et je ne peut pas la contourné.

Avez une solution pour gérer cette erreur ou une idée de faute que j'aurais pu faire. Le problème c'est que j'ai de nombreux fichier qui ont le même code et il n'ont pas tous cette erreur.

Merci d'avance
 
Re : problème erreur 438

Salut Kacy, Kjin🙂, le Forum

Je vais essayer de faire aussi court que l'ami kjin 😉

Public sub me parait suspect ...Robert...NeRelèvePasSTP...😀

ce que je veux dire: si le bouton est sur un USF, Private Sub me parais plus adéquat. ce qui veux dire que chaque bouton a son propre code.


Sinon peut-être avec un module de Classe... et encore je ne suis vraiment pas sur

Essaye de nous faire parvenir un exemple

Bonne Journée
 
Dernière édition:
Re : problème erreur 438

Voilà où se situe le problème



Public Sub Remplissage_liste_deroulante()

With NomFormulaire
'Permet de ne pas mettre les lignes vides dans la liste déroulante
If ActiveSheet.Cells(j, 2).Value = "" Then

Else
'Ajoute la valeur contenue dans la cellune ligne j, colonne 2 (B)
'dans la liste déroulante
.ComboBox.AddItem ActiveSheet.Range("B" & j)
End If

End With

End Sub

Ca peut vous aider
 
Re : problème erreur 438

Bonjour Kacy, Kjin🙂, Dull🙂

vérifie le nom des objets utilisés... userform et cvombobox

bon après midi
@+

A noter dans le bout de code donné J vaut 0, mais dans ce cas ce serait une erreur 1004 me semble t-il.........
 
Dernière édition:
Re : problème erreur 438

ce code est dans le module et dans le formulaire j'appelle ma procédure comm suit :

Private Sub UserForm_activate()

ComboBox.Clear

For j = 216 To 223
Remplissage_liste_deroulante
Next


.......
End sub

donc j est connu.

J'ai vérifié tous mes nom d'objet

en fait je pense que c'est juste dans la ligne

.ComboBox.AddItem ActiveSheet.Cells(j, 2)

ce qui est en rouge qui n'est pas bon
 
Re : problème erreur 438

Bonjour le fil et le forum
essais comme ceci
Me.ComboBox.AddItem ActiveSheet.Cells(j, 2)
ou
ComboBox.AddItem ActiveSheet.Cells(j, 2) 'sans le point devant Combo.
Bon courage et à +
Denis
 
Re : problème erreur 438

Re,

j est connu ?? s'il est déclaré en public, oui, vois pas sa déclaration...et après l'initialisation de ton usf, il perd sa valeur si pas une variable public...

A noter également "combobox" est un type d'objet vba et ne doit pas être employé comme variable ou nom d'objet....
 
Re : problème erreur 438

petite question qui pourrait bien être la solution

pour l'appel de procédure on met

Set Truc=Me

mais est-ce qu'il faut le mettre pour tous les public sub... enc sub du formulaire ou juste dans le userform.activate?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
702
W
  • Question Question
XL 2021 Erreur 424
Réponses
14
Affichages
1 K
Réponses
0
Affichages
848
Retour