Effacer le contenu de lignes selon conditions

Bonjour, aujourd'hui je souhaite affecter une macro pour effacer les lignes d'un tableau si dans la colonne C (1ere colonne du tableau) les cellules contiennent le mois précédent.

Exemple : dans la colle C on peut trouver des cellules "mars-22" ou "février-22".

Avec cette macro je souhaite pouvoir effacer les lignes correspondant à "février-22" soit M-1

Une idée ???

Très bonne journée

Bonjour,

Un simple trie ne suffit pas ?

Non je souhaite créer un bouton avec une macro, mon classeur excel va être utilisé par plusieurs personnes différentes. Je veux éviter les manipulations au maximum

Vous êtes bien sur de vouloir supprimer ? ca supprimer par macro signifie = pas de retour en arrière.

Si oui merci de fournir une base afin de pouvoir vous montrez ce qu'il est possible de faire.

Merci

Je souhaite effacer le contenu des lignes correspondantes à toutes les cellules du mois précédent.

Je pensais pouvoir le faire avec une MFC mais cela ne fonctionne pas avec une macro

6classeur1.xlsx (37.89 Ko)

Bonjour NadegeEP

Dans un module (ALT+F11) insérer le

Sub Supprimer_Mois_precedent()
Dim dernlig As Integer
Dim lig As Integer
Dim dat As String
Dim tab_Mois
Dim liste_Mois
Dim trouve As Boolean
Dim MoisPrec As String
Dim iMoisPrec As Integer
Dim Mois
Mois = VBA.Month(VBA.Date)
If Mois = 1 Then iMoisPrec = 12 Else iMoisPrec = Mois - 1

MoisPrec = Replace(Format(Now, "MMM-YY"), "20", "")
liste_Mois = ",Jan,Fév,Mar,Avr,Mai,Juin,Juil,Aoû,Sep,Oct,Nov,Déc,"
tab_Mois = Split(liste_Mois, ",")
dernlig = Cells(Rows.Count, 3).End(xlUp).Row
MoisPrec = tab_Mois(iMoisPrec - 1)

For lig = dernlig To 11 Step -1
  dat = Cells(lig, 3).Text
  i = 0
  trouve = False
  While i <= UBound(tab_Mois) And Not trouve
    If InStr(1, dat, LCase(tab_Mois(iMoisPrec - 1))) Then
      Rows(lig).EntireRow.Delete
      trouve = True
    End If
    i = i + 1
  Wend
Next

End Sub

code suivant

merci

Rechercher des sujets similaires à "effacer contenu lignes conditions"