Un TextBox qui ne réponds plus

Résolu
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

  1. Contributeur
    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. Contributeur
      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. Contributeur
        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
          
          1. Bonjour,

            Tu ne confonds pas Textbox4 et Combobox4 ?

            A+
          2. Salut Zoul67

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

            bonne journée

            Ray
        2. Salut lermite222

          Merci bien, je vais essayer comme tu dit

          Cdlt Ray
          1. 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
            1. 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