Code vba supprimant cellule contenant premier

sisimouhamed Messages postés 100 Statut Membre -  
Patrice33740 Messages postés 8930 Statut Membre -
Bonjour,

J'aimerais fair un programme vba qui supprimr les cellules contenant premier lettre B.
Par exemple si une cellule contient le nom Bleu cet cellule doit etre supprimer.
Pour le moment tout ce que je peut faire c'est ceci:
Sub supprimer()
Dim Counter As Integer

Range("E6").Select
Counter = 0

Do Until Counter = 10

If Selection.Value = "bleu" Then Selection.Value = ""
If Selection.Value = "brun" Then Selection.Value = ""
If Selection.Value = "blanc" Then Selection.Value = ""

Selection.Offset(1, 0).Select

Counter = Counter + 1

Loop

End Sub
Merci de m'aider

A voir également:

4 réponses

Patrice33740 Messages postés 8930 Statut Membre 1 782
 
bonjour,

Essaie ce code :
Option Explicit
Sub supprimer()
Dim rng As Range
Dim cel As Range
  Set rng = ActiveSheet.UsedRange
  For Each cel In rng.Cells
    If Left(cel.Value, 1) = "B" Then cel.ClearContents
  Next
End Sub

Cordialement
Patrice
0
sisimouhamed Messages postés 100 Statut Membre 2
 
J'ai essayé mais ça na pas marché
0
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
Qu'est-ce qui n'a pas marché ???
0
sisimouhamed Messages postés 100 Statut Membre 2
 
j'arrive pas à supprimer les cellules dont la premiére lettre du texte se commence par "B"
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
la macro de Patrice fonctionne
essaies si j"ai compris ta macro

remplace
Set rng = ActiveSheet.UsedRange 
  For Each cel In rng.Cells 


par
For each cell in range("E6:E15")
If Left(cel.Value, 1) = "B" Then cel.ClearContents
counter=counter+1
Next


mais tu ne dis pas ce que tu veux faire de Counter

par exemple avant End sub
Msgbox counter '????
0
Patrice33740 Messages postés 8930 Statut Membre 1 782
 
Bonsoir,

Normalement mon code précédent devrait fonctionner, mais attention il efface (mais ne supprimer pas) les cellules dont la valeur commence par "B" (mais pas par "b").
Pour effacer aussi les cellules dont la valeur commence "b" remplace :

    If Left(cel.Value, 1) = "B" Then cel.ClearContents
par:

    If UCase(Left(cel.Value, 1)) = "B" Then cel.ClearContents

Si cela ne te convient pas, précise ce qui ne va pas dans la macro ou met un exemple de fichier (expurgé des données confidentielles) sur http://cijoint.fr/ et met le lien obtenu dans ta réponse

Patrice
0