Programmation VBA

Bonjour,

Je souhaite faire une macro VBA Excel qui recherche dans une colonne si les premiers caractères sont MR ou MME. Si c'est le cas supprimer "MR " ou "MME " et passer à la ligne suivante.

Merci d'avance de votre aide

Mister VBA

2 réponses

  1. un petit code tout simple

    J'ai mis à partir de la ligne A6 MR Durand MME dupont.....

    Sub RetireLeDebut()
    
    Dim NbLig As Integer
    Dim C As Variant
    Sheets("feuil1").Select
    NbLig = Range("A6").CurrentRegion.Rows.Count
    
    For Each C In Range("A6:A" & NbLig + 6)
        If UCase(Left(C, 3)) = "MR " Then
        C.Value = Replace(C.Value, "MR ", "")
            
        End If
        If UCase(Left(C, 4)) = "MME " Then
            C.Value = Replace(C.Value, "MME ", "")
        End If
    
    Next
    
    End Sub
    1. Peut etre avec un boucle for !

      feuille = ThisWorkbook.Sheets("nom_de_ta_feuille).Cells(i, 1)

      For i = 1 To X ( X est le nombre de ligne)
      If feuille.Cells(i, 1).Characters(Start:=1, Length:=2) = "MR" Then
      feuille.Cells(i, 1) = Right(feuille.Cells(i, 1), InStr(feuille.Cells(i, 1), "MR") + 2 )
      Else If feuille.Cells(i, 1).Characters(Start:=1, Length:=3) = "MME" Then
      feuille.Cells(i, 1) = Right(feuille.Cells(i, 1), InStr(feuille.Cells(i, 1), "MME") +3 )
      End If

      i = i + 1
      Next i

      Là en faite la boucle passe de ligne en ligne et voit si les premières lettres sont MR ou MME, si tel est le cas, la cellule est remplacé par ce qu'il y avait après le MR ou le MME

      ton X correspond au nombre de ligne à vérifier
      Par contre dans mon exemple il va parcourir la cellule (1 , 1 ) à la cellule (1, X ) , a toi de changer selon ton cas !!