erreur incompatibilité de type

  • Initiateur de la discussion Initiateur de la discussion treza88
  • 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 !

treza88

XLDnaute Occasionnel
Bonsoir à tous

Je rencontre une erreur incompatibilité de type sur la ligne entre guillemets avec une procedure que je suis en train d'adapter.
Et je ne vois pas ce qui cloche si quelqu'un peut me donner un coup de pouce.

Private Sub USF_LostFocus(ByVal Txtbx As String)
Dim d As Variant

"Me.Controls(Txtbx).Value = TimeValue(Left(Application.Text(Me.Controls(Txtbx).Value, "00.00"), 2) _
& ":" & Right(Me.Controls(Txtbx).Value, 2))"
d = Me.Controls(Txtbx).Value
Me.Controls(Txtbx).Value = Format(d, "hh\H mm")

Me.Controls(Txtbx).BackColor = RGB(255, 255, 255)
'
'
'
'
End Sub

Merci
 
Re : erreur incompatibilité de type

salut,

fais plutôt :
Code:
Private Sub Txtbx_LostFocus()
    Dim d As Variant

    Txtbx.Value = Left(Txtbx.Value, 2) & ":" & Right(Txtbx.Value, 2)
    
    d = Txtbx.Value
    Txtbx.Value = Format(d, "hh\H mm")
    
    Txtbx.BackColor = RGB(255, 255, 255)
End Sub
 
Re : erreur incompatibilité de type

Merci Kobaya

Mais je l'ai deja rediger comme cela et j'ai une erreur "qualificateur incorrect" sur la variable "Txtbx".

Me.Controls(Txtbx).BackColor = RGB(255, 255, 255)

Fait partie du code d'origine qui fonctionne alors que la partie au dessus je l'ai rajouté mais je na vois pas pourquoi ça fonctionne pas?
 
Re : erreur incompatibilité de type

Pour preciser un peu plus si ça peut aider la procedure est utilisé dans une autre qui ce trouve dans un module de classe, procedure que je rajoute en dessous:

Public Sub cibleFocus(USF As MSForms.UserForm)
With USF
If TypeName(.ActiveControl) = "Frame" Then
If TypeName(.Controls(.ActiveControl.Name).ActiveControl) = _
"TextBox" Then
nomObjActif = .Controls(.ActiveControl.Name).ActiveControl.Name

On Error GoTo errorHandler
Do
DoEvents
If .ActiveControl.Name <> nomObjActif Then
If TypeName(.Controls(.ActiveControl.Name).ActiveControl) = _
"TextBox" Then
If TypeName(.ActiveControl) = "Frame" Then
RaiseEvent LostFocus(nomObjActif)
nomObjActif = .Controls(.ActiveControl.Name).ActiveControl.Name
RaiseEvent GetFocus
End If
End If
End If

Loop
'RaiseEvent LostFocus(nomObjActif)
End If
End If
End With

errorHandler:
Exit Sub
End Sub

Le code complet contenant encore 2ou 3 procedure sert a gerer un code lors de l'activation et la sortie de textbox contenues dans des frames elles meme sur une userform et ce code sert à les gerer en boucle ce qui ne peut ce faire avec l'evenement exit de chaque textbox et comme il y en 40!

J'ai deja creer un code exit sur les 40 qui fonctionne mais je cherche à le realiser en boucle pour racourcir le code.

J'espere que c'est plus net pour tout le monde.

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

Discussions similaires

D
Réponses
14
Affichages
2 K
A
Réponses
5
Affichages
1 K
AlicePrince
A
Réponses
1
Affichages
1 K
T
Réponses
9
Affichages
3 K
Tubule
T
G
Réponses
3
Affichages
2 K
Gregotranceaddict
G
S
Réponses
2
Affichages
1 K
B
Réponses
6
Affichages
2 K
BOUBRED
B
Retour