OVH Cloud OVH Cloud

effacer certaines valeurs (en vba)

14 réponses
Avatar
j-pascal
Bonjour,

J'ai une plage qui contient différents signes, je souhaite effacer les
cellules contenant le signe "{". J'ai essayé, en vain, ce qui suit :

Option Explicit
Sub effacerSigne()
Dim c As Variant

Application.ScreenUpdating = False

Range("AC4:AC23").Select

For Each c In Selection

If c.Value = "{" Then
Selection.Clear.contents
End If

Next

Application.ScreenUpdating = False

End Sub


Je vous remercie d'avance pour vos (éventuelles) réponses,

JP

4 réponses

1 2
Avatar
j-pascal
C'est simple et efficace et je n'y avais, comme tu t'en doutes, pas du tout
pensé. Merci bcp.
Je ne te cache pas néanmoins que je suis toujours curieux de savoir comment
on peut faire avec un "For each c in selection, ..." et un "clearcontents"
;-)

JP


MichDenis wrote:
Cette ligne de code est suffisante :

Remplace Feuil2 par le nom de la feuille (codename)

Feuil2.Range("AC4:AC23").Replace "*{*", ""


"j-pascal" a écrit dans le message de news:
%
Bonjour,

J'ai une plage qui contient différents signes, je souhaite effacer les
cellules contenant le signe "{". J'ai essayé, en vain, ce qui suit :

Option Explicit
Sub effacerSigne()
Dim c As Variant

Application.ScreenUpdating = False

Range("AC4:AC23").Select

For Each c In Selection

If c.Value = "{" Then
Selection.Clear.contents
End If

Next

Application.ScreenUpdating = False

End Sub


Je vous remercie d'avance pour vos (éventuelles) réponses,

JP


Avatar
isabelle
bonjour JP,

sur la macro que tu as montré la plage AC4:AC23 est sélectionnée
et la boucle s'exécute seulement sur cette sélection, il faut peut être modifier cette ligne :
Range("AC4:AC23").Select

pour que la mise en forme soit gardée, modifie :
c.Delete
par
Range(c.Address).Clear.contents

isabelle

Bonjour isabelle,

Ca marche, mais si les signes "{" sont éparpillés, ce qui est étonnant
c'est qu'il faille relance la proc !
Par ailleurs, cela m'afface la mise en forme (motif)

A+ ?

JP

essaie comme ça,

Sub effacerSigne()
Dim c As Variant
Application.ScreenUpdating = False
Range("AC4:AC23").Select
For Each c In Selection
If c.Value = "{" Then c.Delete
Next
Application.ScreenUpdating = True
End Sub

isabelle


Bonjour,

J'ai une plage qui contient différents signes, je souhaite effacer
les cellules contenant le signe "{". J'ai essayé, en vain, ce qui
suit : Option Explicit
Sub effacerSigne()
Dim c As Variant

Application.ScreenUpdating = False

Range("AC4:AC23").Select

For Each c In Selection

If c.Value = "{" Then
Selection.Clear.contents
End If

Next

Application.ScreenUpdating = False

End Sub


Je vous remercie d'avance pour vos (éventuelles) réponses,

JP








Avatar
isabelle
oups, corretion
.ClearContents
isabelle


Bonjour isabelle,

Ca marche, mais si les signes "{" sont éparpillés, ce qui est étonnant
c'est qu'il faille relance la proc !
Par ailleurs, cela m'afface la mise en forme (motif)

A+ ?

JP

essaie comme ça,

Sub effacerSigne()
Dim c As Variant
Application.ScreenUpdating = False
Range("AC4:AC23").Select
For Each c In Selection
If c.Value = "{" Then c.Delete
Next
Application.ScreenUpdating = True
End Sub

isabelle


Bonjour,

J'ai une plage qui contient différents signes, je souhaite effacer
les cellules contenant le signe "{". J'ai essayé, en vain, ce qui
suit : Option Explicit
Sub effacerSigne()
Dim c As Variant

Application.ScreenUpdating = False

Range("AC4:AC23").Select

For Each c In Selection

If c.Value = "{" Then
Selection.Clear.contents
End If

Next

Application.ScreenUpdating = False

End Sub


Je vous remercie d'avance pour vos (éventuelles) réponses,

JP








Avatar
j-pascal
PARFAIT !

Merci beaucoup Isabelle :-)

JP


wrote:
oups, corretion
.ClearContents
isabelle


Bonjour isabelle,

Ca marche, mais si les signes "{" sont éparpillés, ce qui est
étonnant c'est qu'il faille relance la proc !
Par ailleurs, cela m'afface la mise en forme (motif)

A+ ?

JP

essaie comme ça,

Sub effacerSigne()
Dim c As Variant
Application.ScreenUpdating = False
Range("AC4:AC23").Select
For Each c In Selection
If c.Value = "{" Then c.Delete
Next
Application.ScreenUpdating = True
End Sub

isabelle


Bonjour,

J'ai une plage qui contient différents signes, je souhaite effacer
les cellules contenant le signe "{". J'ai essayé, en vain, ce qui
suit : Option Explicit
Sub effacerSigne()
Dim c As Variant

Application.ScreenUpdating = False

Range("AC4:AC23").Select

For Each c In Selection

If c.Value = "{" Then
Selection.Clear.contents
End If

Next

Application.ScreenUpdating = False

End Sub


Je vous remercie d'avance pour vos (éventuelles) réponses,

JP








1 2