Un TextBox qui ne réponds plus

Résolu/Fermé
dudulleray - 20 nov. 2013 à 18:38
 dudulleray - 21 nov. 2013 à 13:22
Bonsoir a toutes et tous, forum bonsoir



Excel 2007 VBA windows 7 - 32 bits

Pour avoir une suite logique dans mes TextBoxs 5 au total

j'ai renomer le textbox 5 en textbox 4

et depuis celui ci ne réponds plus

un simple Textbox4 = "Coucou" et Mr Excel s'arrète avec le message (Excel a cesser de fonctionner etc etc)

pour le mème travail je mets a la place par Ex: un Label12= "Coucou" et la ca fonctionne

je ne sais pas pourquoi excel plante quand je solicite le textbox4

par contre le textbox 5 fonctionne va comprendre ?????


si quelqu'un a une petite idée sur le soucis je suis preneur.


Merci d'avance pour aide et votre savoir partagé

Bonne soirée a tous

Cordialement Ray

7 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 nov. 2013 à 23:06
Bonjour,
Tu est sûr que sa radio est allumée..... :-))
Double-clic sur le textBox et vois où tu atterri, probable que le code n'est plus à jour.
A+
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 21/11/2013 à 11:35
Pas sûr que ça plante sur cette ligne là.
Met un point d'arrêt sur la ligne

TextBox4 = Ws.Cells(26, 5 + ComboBox4.ListIndex) & " €" (F9) au cas ou !

Quand l'exécution s'arrête sur cette ligne
Dans la fenêtre exécution tape Print Ws.Name
Si ça donne le nom continue avec F8.

Autre piste, supprime le TextBox 4
Sauve le classeur.
Remet un nouveau TextBox4
Double-clic dessus et vois où tu atterri.


Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 21/11/2013 à 12:20
Quand tu ne sauve pas, ça reste en mémoire tu le remet..ça fait des noeux avec le handle
Note, c'est un bug d'Excel, des fois ça marche et des fois pas.
Prochaine fois change également le nom TextBox5 => LeText4

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
1
Bonjour a tous, forum

Salut lermitte222

Merci pour ta réponse,

je te mets le bout de code tout le programme fonctionne très bien c'est depuis que j'ai fait ma bidouille de renomer que ça merdouille, commentaire dans le code du textbox4

Si par exemple je creer un label18 pour essayer, ça fonctionne et le programme continu de bien marcher

 Label18 = Ws.Cells(26, 5 + ComboBox4.ListIndex) & " €"
OK

j'ai comparer avec les propriétés avec les Textbox 2 et 3 c'est identique a part tabindex

 TextBox4 = Ws.Cells(26, 5 + ComboBox4.ListIndex) & " €"
NO good

Merci pour ton aide une bonne journée a toi

Cdlt Raymond

'*** MACRO POUR LES TEXTBOXS 2-3-4
Sub Macro(NumTB)
  Dim CB As Control, TB As Control, Ligne As Long, Valeur As Integer
  If Encours = True Then Exit Sub
     Encours = True
 
  If NumTB = 2 Then
    Ligne = 21                          'On se sert du n° de textbox passé en paramètre pour déterminer le n° de ligne
    Valeur = 228                        'On pourra se servir du test pour déterminer le label à utiliser
  ElseIf NumTB = 3 Then
    Valeur = 240
    Ligne = 22
  ElseIf NumTB = 4 Then
    Ligne = 26
    Valeur = 288
  End If
   
    Set CB = Me.Controls("ComboBox" & NumTB)         'On assigne une variable au textbox et au combobox à utiliser
    Set TB = Me.Controls("TextBox" & NumTB)
 
  If CB.ListIndex = -1 Then                          'TB et CB désignent donc les contrôles à utiliser
     TB.BackColor = vbRed                            'Mets Rouge fond TextBox2 si erreur
     MsgBox "Sélectionner un mois"
     TB = ""
   Else
     Ws.Cells(Ligne, 5 + CB.ListIndex) = Val(Replace(TB.Value, ",", "."))
     Controls("Label" & Valeur + 1 + CB.ListIndex) = Format(Ws.Cells(Ligne, 5 + CB.ListIndex), Euro)
    End If
 
'** ACTIONS variable des lignes 21-22-26
  For I = 1 To 12
      Controls("Label" & I + Valeur).Caption = Format(Ws.Cells(Ligne, I + 4), Euro)        'Label 228 à 240
 
   If Ws.Cells(Ligne, I + 4) < 0 Then
      Controls("Label" & I + Valeur).ForeColor = vbRed
     Else
      Controls("Label" & I + Valeur).ForeColor = vbWhite
   End If
 
  Next I
       TB.BackColor = vbGreen                        'Remets Vert fond TextBox2
       Encours = False
End Sub

'*** ### COMBOBOX(2)SELECTIONNE LE MOIS OU SERA COPIER LA VALEUR ENTRER DANS TEXTBOX(2)
Private Sub Combobox2_Click()
  If ComboBox2.ListIndex = -1 Then Exit Sub
  If LCase(Me.ComboBox2.Value) <> LCase(Format(Date, "mmmm")) Then     'Test si bon mois
  
         MsgBox "Mois non Valide"
         ComboBox2.ListIndex = -1                                      'On vide le Combobox
       Exit Sub
       End If
     TextBox2 = Ws.Cells(21, 5 + ComboBox2.ListIndex) & " €"
End Sub

'*** TEXTBOX(2)ON ENTRE UNE VALEUR DESTINATION DANS FEUILLE ZONE E21:P21 (CARSAT)
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
   If InStr("1234567890,-€", Chr(KeyAscii)) = 0 Then
      KeyAscii = 0
   End If
End Sub

Private Sub TextBox2_Change()
  Macro 2
End Sub

'*** ### COMBOBOX(3)SELECTIONNE LE MOIS OU SERA COPIER LA VALEUR ENTRER DANS TEXTBOX(3)
Private Sub Combobox3_Click()
  If ComboBox3.ListIndex = -1 Then Exit Sub
  If LCase(Me.ComboBox3.Value) <> LCase(Format(Date, "mmmm")) Then
  
         MsgBox "Mois non Valide"
         ComboBox3.ListIndex = -1
       Exit Sub
       End If
     TextBox3 = Ws.Cells(22, 5 + ComboBox3.ListIndex) & " €"
End Sub

'*** TEXTBOX(3)ON ENTRE UNE VALEUR DESTINATION DANS LA ZONE E22:P22 (MALAKOFF)
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
   If InStr("0123456789-,.", Chr(KeyAscii)) = 0 Then
      KeyAscii = 0
   End If
End Sub

Private Sub TextBox3_Change()
  Macro 3
End Sub

''''''''''''''''''''''''''
LE TEXTBOX4 N'ai nulle part ailleurs dans le programme juste a partir d'ici

'*** ### COMBOBOX(4)SELECTIONNE LE MOIS OU SERA COPIER LA VALEUR ENTRER DANS TEXTBOX(4)
Private Sub Combobox4_Click()
  If ComboBox4.ListIndex = -1 Then Exit Sub
  If LCase(Me.ComboBox4.Value) <> LCase(Format(Date, "mmmm")) Then
  
         MsgBox "Mois non Valide"
         ComboBox4.ListIndex = -1
       Exit Sub
       End If
'---------- Excel plante dès qu'il passe a la ligne ci-dessous
       TextBox4 = Ws.Cells(26, 5 + ComboBox4.ListIndex) & " €"
'----------------------------------------------
End Sub

'*** TEXTBOX(4)ON ENTRE UNE VALEUR DESTINATION DANS LA ZONE E26:P26
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
On Error Resume Next
   If InStr("0123456789-,.", Chr(KeyAscii)) = 0 Then
      KeyAscii = 0
   End If
End Sub

Private Sub TextBox4_Change()
  Macro 4
End Sub
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
21 nov. 2013 à 11:25
Bonjour,

Tu ne confonds pas Textbox4 et Combobox4 ?

A+
0
Salut Zoul67

merci pour ta réponse mais, non je ne confonds pas

bonne journée

Ray
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut lermite222

Merci bien, je vais essayer comme tu dit

Cdlt Ray
0
Salut lermite222

Bon c'est OK ça fonctionne de nouveau avec cette méthode
----------

Autre piste, supprime le TextBox 4
Sauve le classeur.
Remet un nouveau TextBox4
Double-clic dessus et vois où tu atterri.
----------

En fait ce que j'ai fait, c'est renommer mon TextBox mais ça n'a pas marcher

j'ai bien effacer le textbox puis creer un autre que j'ai renommer 4 et ca ne marchai toujours pas

donc l'erreur c'est que après avoir suprimer le texbox je ne sauvais pas le fichier

et de recreer un autre (mais après) et bien sur ce n'ai plus pareil

quand pense tu svp

je clos le sujet ensuite

En tout cas, je t'envoi de Rouen mes meilleurs remerciements

merci lermitte222

Cordialement Raymond
0
Merci a toi, je prends bonne note pour les TextBoxs

bonne après midi et encore grand merci

a plus tard sans doute LOL

Cordialement raymond
0