Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

simplification et shape en face cellule active

2 réponses
Avatar
fredbzr
Bonsoir à tous
j'aimerai utiliser le code ci dessous mais j'ai besoin une nouvelle fois de
vos lumières (de Noël)
1)j'ai une centaine de cellules:d5,d8,d20,d25.....comment faire pour les
regrouper sans refaire le code à chaque fois.
2)un shape apparaît et clignote (10x) lorsque le résultat est > à 100:
comment faire apparaître ce shape en face de la cellule concernée.
et pour finir, à la place de 100, comment avoir une heure, par ex :
37h00(j'ai essayé avec 37:00:00 mais çà ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect([a5:c11], Target) Is Nothing And Target.Count = 1 Then

If [d5] > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If

If [d8] > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If

End If
End Sub

merci à vous
Fred

2 réponses

Avatar
JB
Bonjour,

http://cjoint.com/?mtigNfRM6r

On fait clignoter une image si le total en B7,D7,E7 dépasse 100

-Créer une zone de texte et la nommer MonShape (en haut à gauche de
la barre de formule-valider avec Entrée)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("B2:B6,d2:D6,f2:f6"), Target) Is Nothing And
Target.Count = 1 Then
If Cells(7, Target.Column) > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
temp = TimeValue(Time)
ActiveSheet.Shapes("Monshape").TextFrame.Characters.Text =
Format(temp, "hh:mm:ss")
ActiveSheet.Shapes("Monshape").Left = Cells(7,
Target.Column).Left + 50
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If
End If
End Sub

Sub Clignote(s, nb)
n = 0
Do While n < nb
ActiveSheet.Shapes(s).Visible = False
fin = Timer + 0.2
Do While Timer < fin: DoEvents: Loop
ActiveSheet.Shapes(s).Visible = True
fin = Timer + 0.4
Do While Timer < fin: DoEvents: Loop
n = n + 1
Loop
End Sub

JB


Bonsoir à tous
j'aimerai utiliser le code ci dessous mais j'ai besoin une nouvelle fois de
vos lumières (de Noël)
1)j'ai une centaine de cellules:d5,d8,d20,d25.....comment faire pour les
regrouper sans refaire le code à chaque fois.
2)un shape apparaît et clignote (10x) lorsque le résultat est > à 1 00:
comment faire apparaître ce shape en face de la cellule concernée.
et pour finir, à la place de 100, comment avoir une heure, par ex :
37h00(j'ai essayé avec 37:00:00 mais çà ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect([a5:c11], Target) Is Nothing And Target.Count = 1 Th en

If [d5] > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If

If [d8] > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If

End If
End Sub

merci à vous
Fred


Avatar
JB
Bonjour,

Voici le code modifié.

http://cjoint.com/?muink8j0aY

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet
If Not Intersect(Range("a4:c5,a7:c8,a10:c11"), Target) Is Nothing And
Target.Count = 1 Then
ligne = ((Target.Row - 3) 3) * 3 + 5
If Cells(ligne, 4) > (37 / 24) Then
ActiveSheet.Shapes("monshape").Visible = True
ActiveSheet.Shapes("Monshape").TextFrame.Characters.Text =
Application.Text(Cells(ligne, 4), "[h]:mm")
ActiveSheet.Shapes("Monshape").Top = Cells(ligne, 4).Top - 20
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If
End If
End With
End Sub

Sub Clignote(s, nb)
n = 0
Do While n < nb
ActiveSheet.Shapes(s).Visible = True
fin = Timer + 0.2
Do While Timer < fin: DoEvents: Loop
ActiveSheet.Shapes(s).Visible = False
fin = Timer + 0.4
Do While Timer < fin: DoEvents: Loop
n = n + 1
Loop
End Sub

JB

Bonsoir à tous
j'aimerai utiliser le code ci dessous mais j'ai besoin une nouvelle fois de
vos lumières (de Noël)
1)j'ai une centaine de cellules:d5,d8,d20,d25.....comment faire pour les
regrouper sans refaire le code à chaque fois.
2)un shape apparaît et clignote (10x) lorsque le résultat est > à 1 00:
comment faire apparaître ce shape en face de la cellule concernée.
et pour finir, à la place de 100, comment avoir une heure, par ex :
37h00(j'ai essayé avec 37:00:00 mais çà ne fonctionne pas)

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect([a5:c11], Target) Is Nothing And Target.Count = 1 Th en

If [d5] > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If

If [d8] > 100 Then
ActiveSheet.Shapes("monshape").Visible = True
Clignote "monshape", 10
Else
ActiveSheet.Shapes("monshape").Visible = False
End If

End If
End Sub

merci à vous
Fred