Code vba supprimant cellule contenant premier

sisimouhamed Messages postés 100 Statut Membre -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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

4 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    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
  2. sisimouhamed Messages postés 100 Statut Membre 2
     
    J'ai essayé mais ça na pas marché
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Qu'est-ce qui n'a pas marché ???
      0
  3. 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
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
  4. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    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