Code vba supprimant cellule contenant premier

Fermé
sisimouhamed Messages postés 79 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 28 novembre 2011 - 20 sept. 2010 à 17:05
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 20 sept. 2010 à 22:06
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
20 sept. 2010 à 17:29
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 79 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 28 novembre 2011 2
20 sept. 2010 à 17:37
J'ai essayé mais ça na pas marché
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
20 sept. 2010 à 17:42
Qu'est-ce qui n'a pas marché ???
0
sisimouhamed Messages postés 79 Date d'inscription vendredi 5 septembre 2008 Statut Membre Dernière intervention 28 novembre 2011 2
20 sept. 2010 à 18:03
j'arrive pas à supprimer les cellules dont la premiére lettre du texte se commence par "B"
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 20/09/2010 à 18:24
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
20 sept. 2010 à 22:06
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