Supprimer toutes les dates par rapport à un mois/année VBA

Bonjour,

Je cherche à créer une macro pour supprimer toutes les valeurs d'une BDD correspondant au mois affiché dans une feuille

La date sélectionnée se trouve dans une feuille "Planning"

Ma feuille "Data" contient toutes les dates de mes feuilles sur plusieurs années

J'ai du mal avec la ligne If pour que le mois/année actif dans "Planning" soit la référence pour supprimer toutes les dates de ce mois/année dans ma feuille "Data"

J'essaie d'adapter un code trouvé sur le forum (https://forum.excel-pratique.com/excel/suppression-lignes-contenant-un-mois-ayant-pour-date-le-mois-...)

J'ai essayé de copier la date affichée dans Planning dans la feuille data en P1 donc 1,16 pour essayer mais nop

SI quelqu'un a une idée je prends Merci

'supprimer uniquement le Mois en cours pour vider la feuille

Sub MyDeleteRows()

Dim lastrow As Long
Dim i As Long

    With Sheets("Data")
        lastrow = Cells(Rows.Count, 2).End(xlUp).Row
        For i = lastrow To 2 Step -1
            If CDate(Cells(1, 16).Value) <= WorksheetFunction.EoMonth(Date, 0) Then Rows(i).EntireRow.Delete
        Next i
    End With

End Sub

Bonjour,

Il y a une erreur là:

 CDate(Cells(1, 16).Value)

remplacez par celle-ci:

 CDate(Cells(i, 16).Value)

la lettre "i" à la place du 1

Cdlt

Bonsoir pamonnier, le forum,

A quoi te sert i ? .........

Tu ne l'utilise pas dans ta boucle.....

If CDate(Cells(1, 16).Value)

[EDIT] : Arrrgh! Salut Arturo83, tu as été plus rapide,


Cordialement,

Bonjour, merci pour la réponse effectivement petite erreur mais j'ai 2 soucis:

-il me supprime tout sur la feuille Planning si je créé le bouton sur celle-ci (ce qui est le but en cas de souci la personne peut réinitialiser sa feuille mois.

-Si je mets le bouton sur la feuille Data il me supprime toutes les données à la place de supprimer que les dates concernant le mois actif en cellule P1 par exemple

Est-ce ici aussi mon erreur WorksheetFunction.EoMonth ??

Je crois que je me mélange un peu dans les formules

VBA je suis débutant et là je galère

Re,

Comme tu utilises

 With Sheets("Data")

Il faut que tu mettes un point devant Cells et Rows pour lui spécifier que c'est sur cette feuille qu'il faut agir.

lastrow = .Cells(Rows.Count, 2).End(xlUp).Row
If CDate(.Cells(i, 16).Value)
.Rows(i).EntireRow.Delete

Bon test,

Cordialement,

Bonsoir merci des corrections

Par contre je n'arrive pas à lui dire de supprimer toutes les dates enregistrées dans "Data" du mois en cours dans "Planning"

Je rappelle mon objectif :

Sur ma feuille planning j'ai un mois de sélectionné sur lequel je travaille si je vois que j'ai oublié certaines modifs à faire en amont j'aimerais vider la base de donnée de ce mois en question qui est dans une feuille "Data". Il faut donc que je sélectionne toutes les dates du mois concernées dans la feuille "Data" et quelles soient supprimées.

Voici mes derniers essais qui vide tout. Je pense que je n'arrive pas à lui dire de supprimer toutes les lignes ayant le même mmmm aaaa que la cellule "P1" par exemple qui est dans "Data" pour mes essais ou carrément une cellule dans la feuille "Planning"

'supprimer uniquement le Mois en cours

Sub MyDeleteRows()
Dim lastrow As Long
Dim i As Long

With Sheets("Data")
lastrow = .Cells(.Rows.Count, 2).End(xlUp).Row
For i = lastrow To 2 Step -1
If CDate(.Cells(i, 16).Value) <= WorksheetFunction.EoMonth(Date, 0) Then .Rows(i).EntireRow.Delete
Next i

End With
End Sub

Bonjour à tous,

Dommage que tu n'ai pas joint de fichier...

A tout hasard:

'supprimer uniquement le Mois en cours

Sub MyDeleteRows()
 Dim lastrow As Long
 Dim i As Long
 Dim madate As Date

 Application.ScreenUpdating = False

 With Sheets("Data")
  lastrow = .Cells(.Rows.Count, 2).End(xlUp).Row
  madate = .Range("P1") 'date de référence
   For i = lastrow To 2 Step -1
    If Month(CDate(.Cells(i, 16).Value)) = Month(madate) And _
     Year(CDate(.Cells(i, 16).Value)) = Year(madate) Then .Rows(i).EntireRow.Delete
   Next i
 End With
End Sub

Cordialement,

Super

Marche parfaitement

Rechercher des sujets similaires à "supprimer toutes dates rapport mois annee vba"