Erreur d'execution 438 If CTRL.Value = "" Then

Bonjour à tous

je fait un système de contrôle de rentrer de donner avant validation.

Tout se passe bien , jusqu'au moment ou je click sur valider

a ce moment j'ai le message d'erreur 438

puis quand je fait débogage il me met en jaune la ligne que je mis en gras ci dessous

Je comprend pas l'erreur!

Private Sub CommandButton1_Click() 'bouton "Valider"

Dim R As Range 'déclare la variable R (Recherche)

Dim LI As Integer 'déclare la variable LI (LIgne)

Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)

Dim EF As FileDialog 'déclare la variable EF (Explorateur de Fichiers)

Dim F As String 'déclare la variable F (Fichier)

'**********************

'Contrôles Obligatoires

'**********************

For Each CTRL In Me.Controls 'boucle sur tous les contrôles CTRL de l'UserForm en cours

If CTRL.Tag <> "" Then 'condition 1 : si la propriété [Tag] du contrôle n'est pas vide

Select Case CTRL.Tag 'agit en fonction de la propriété [Tag] du contrôle

Case "C", "D", "E", "F", "G", "H" 'cas

If CTRL.Value = "" Then 'condition 2 : si le contrôle est vide

MsgBox "Vous devez renseigner ce champ obligatoire!" 'message

CTRL.SetFocus 'place le curseur

Exit Sub 'sot de la procédure

End If 'fin de la condition 2

End Select

End If 'fin de la condition1

Next CTRL 'prochain contrôle de la boucle

Bonjour bruxoexcel

je vous invite à lire ou relire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment

  • Pour plus de lisibilité, utilisez la fonctionnalité </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).

Merci d'utiliser le bouton

image

Concernant votre problème de code, sans fichier cela risque d'être compliqué
il faudrait nous donner une capture d'écran de la ligne surlignée en jaune

A+

Bonjour Bruxoexcel, bonjour le forum,

Ce que tu as fait me parle (será que você é um verdadeiro bruxo?)... Le problème est de savoir de quel type de contrôle il s'agit et sans le fichier qui va bien, difficile d'en apprendre plus...

Bonjour,

Bonjour Bruno,

Qu'avez-vous comme contrôles en dehors des TextBox, tous n'ont pas la propriété Value (ou selon le contexte) ?

Bonjour,

Tous les contrôles n'ont pas toutes les propriétés : Certains n'ont pas de value...

Quand vous voulez spécifier une propriétés vous devez spécifier le type de Contrôle concerné :

   For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then

... par exemple...

EDIT: Sorry Eric On a frisé l'incident !

A+

Rechercher des sujets similaires à "erreur execution 438 ctrl value then"