Code à problème (message erreur lors d'écriture en B ou C)

anthoYS

XLDnaute Barbatruc
Bonjour,

Dès que j'écris quelque chose en colonne 2 ou 3 (B ou C), ce message apparait (voir capture d'écran en PJ), et ce qui est en police rouge dans le code est selectionné...
Dès que j'écris ou que même j'efface un caractère dans l'une de ces deux colonnes...

Code:
'---Création de la forme---
If IsNumeric(Target) Then 'en cas de valeur d'erreur
  If Target > 0 And Target <= 9 Then
    Target.Font.ColorIndex = 2
    With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 0, 100, 15)
      .OnAction = "Selectionne"
      .Fill.Visible = msoFalse
      .Line.Visible = msoFalse
      With .TextFrame
        e = Int(CDec(Target))
        .Characters.Text = Application.Rept("ê", e - (Target > e))
        .Characters.Font.Name = "Wingdings 2"
        .Characters.Font.ColorIndex = [H4].Offset(Target - e < 0.5).Font.ColorIndex
        If e > 0 Then .Characters(1, e).Font.ColorIndex = [H5].Font.ColorIndex
        .AutoSize = True
      End With
      .Left = Target.Left + Application.Max(0, (Target.Width - .Width) / 2)
      .Top = Target.Top + Application.Max(0, 1 + (Target.Height - .Height) / 2)
    End With
  End If
End If
Application.OnRepeat [COLOR="Red"]""[/COLOR], ""
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) [.../fin du code]

Merci à ceux qui ont idée d'ou pourrait provenir l'erreur qui maintenant est systématique :(

@+
 

Pièces jointes

  • CodeErreur.jpg
    CodeErreur.jpg
    49.9 KB · Affichages: 64
Dernière édition:

anthoYS

XLDnaute Barbatruc
Re : Code à problème (message erreur lors d'écriture en B ou C)

Re,


Exact, merci, mais maintenant dès que je rajoute un caratère ou efface (en B ou C), il y a le sablier qui s'affiche pendant deux voire trois secondes presque...

Voilà
 

JNP

XLDnaute Barbatruc
Re : Code à problème (message erreur lors d'écriture en B ou C)

Re :),
J'avoue que j'ai pas vraiment suivi le but de ta sub et de ta création de Shape, et l'utilisation de Target me parait abérante (c'est un range dans lequel tu fais des manips bizarres...), mais une chose est sûre, c'est que la création de ligne ne peux pas faire bon ménage avec l'événementielle Change, vu que tu calcules Set Target = Intersect(Target, [E2:E65536]) donc les lignes crées possède forcément des cellules dans E...
Bon courage :cool:
 

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 435
Membres
111 136
dernier inscrit
Ahmad Ibnou