Un TextBox qui ne réponds plus

Résolu
dudulleray -  
 dudulleray -
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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  4. dudulleray
     
    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
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Bonjour,

      Tu ne confonds pas Textbox4 et Combobox4 ?

      A+
      0
    2. dudulleray
       
      Salut Zoul67

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

      bonne journée

      Ray
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dudulleray
     
    Salut lermite222

    Merci bien, je vais essayer comme tu dit

    Cdlt Ray
    0
  7. dudulleray
     
    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
  8. dudulleray
     
    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