Probleme dans code macro excel

Bonjour,

je viens de créer 2 textbox. Et je voudrais que lorsque je saisie les chiffres dans la premiere, que ça face une copie dans la deuxieme au fur et à mesure de la saisie. et que la deuxieme textbox ne soit pas modifiable que par la premiere.

Voici le code qui ne marche pas comme je voudrais :

If TextBox1.Value = "" Then
TextBox2.Value = ""

ElseIf TextBox1.Value <> "" Then
TextBox2.Value = TextBox1.Value

End If

Merci pour votre aide.
Configuration: Windows 2000
Internet Explorer 6.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. As-tu mis ton code dans l'evenement de modification de TextBox1

    ex:
    Private Sub TextBox1_Change()
    If TextBox1.Value = "" Then
    TextBox2.Value = ""
    ElseIf TextBox1.Value <> "" Then
    TextBox2.Value = TextBox1.Value
    End If
    End Sub
    1. Salut chacal, j'avais pas pensé !

      Merci pour ta réponse.

      Est-il possible de bloquer le 2ième textbox pour éviter une mauvaise manip' ?

      Merci encore (super cool)
      1. 2 solutions:

        1 - Mettre la propriété enable du champ à false. Le seul hic c'est que les caractéres du champ seront grisés.

        2 - Dans l'évènement Changed du champ il faut capturer l'appui sur les touches du clavier et empécher l'insertion du caractère dans le champ
        1. Solution la plus efficace et la plus simple

          Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
          TextBox2.Text = TextBox1.Text
          End Sub

          Dans ce cas le champ TextBox2 aura la mçeme valeur que le champ TextBox1 quelque soit la touche utilisée.