Programmation VBA
Fermé
MisterVBA
-
17 févr. 2010 à 11:22
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 17 févr. 2010 à 15:03
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 17 févr. 2010 à 15:03
A voir également:
- Programmation VBA
- Application de programmation - Guide
- Programmation - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
2 réponses
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 !!
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 !!
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
17 févr. 2010 à 15:03
17 févr. 2010 à 15:03
un petit code tout simple
J'ai mis à partir de la ligne A6 MR Durand MME dupont.....
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