Trouver une cellule avec une macro

Bonjour a tous

Voilà je suis bloqué avec une petite macro pour l'avancement de mon fichier, j'aimerais trouver une cellule contenant un mot n'importe lequel on dira DATE par exemple dans la colonne J et supprimer cette ligne contenant ce mot ainsi que les 7 lignes qui se trouvent en dessous. Petite précision il faudrait qu'il le fasse autant de fois qu'il trouvera le mot Date par exemple

J'utilise cette macro pour supprimer toute les lignes du dessous a partir d'un nom de cellule et j'aimerais donc juste modifier pour l'inclure dans mon fichier

Set Cel = .Columns("A").Find(what:="Site mobile", LookIn:=xlValues, lookat:=xlWhole)
          If Not Cel Is Nothing Then
            .Rows(Cel.Row & ":" & Rows.Count).Delete
          Else
            MsgBox "Impossible de trouver le marqueur : Site mobile"
            Exit Sub        'End
          End If

bonjour,

une proposition

Sub supprdate()
dl = Cells(Rows.Count, "J").End(xlUp).Row
For i = dl To 2 Step -1
If Cells(i, "J") = "DATE" Then Rows(i, i + 7).Delete shift:=xlUp
Next i
End Sub

Ok merci bcp par contre j'ai une erreur à la ligne dl peu être j'ai oublié un truc ?

Je met mon code complet peu être il y a des interférence avec autre chose

Option Explicit
'
' Macro1 Macro
' Macro enregistrée le 20/06/2015 par STEF
'
' Touche de raccourci du clavier: Ctrl+c
'

Sub Macro1()
Dim Feuille As String
Dim J As Long
Dim Lgder As Long
Dim WsImp As Worksheet
Dim Cel As Range
Dim Progression As Double
Dim Pas As Double
Dim MeHwnd As Long
Dim i As Long
Application.ScreenUpdating = True

  Set WsImp = Sheets("URABA DU PONT")

  With WsImp

'supprime toutes les lignes vides
    For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
      If Application.CountA(Rows(i)) = 0 Then Rows(i).Delete
  Next i
'supprime toutes les lignes au dessus de la cellule "Date" en colonne A
          Set Cel = .Columns("A").Find(what:="Date", LookIn:=xlValues, lookat:=xlWhole)
          If Not Cel Is Nothing Then
            .Rows("1:" & Cel.Row - 1).Delete
          Else
            MsgBox "Impossible de trouver le marqueur : Date"
            Exit Sub        'End
          End If
 'supprime toutes les lignes en dessous de la cellule "Site mobile" en colonne A
          Set Cel = .Columns("A").Find(what:="Site mobile", LookIn:=xlValues, lookat:=xlWhole)
          If Not Cel Is Nothing Then
            .Rows(Cel.Row & ":" & Rows.Count).Delete
          Else
            MsgBox "Impossible de trouver le marqueur : Site mobile"
            Exit Sub        'End
          End If
 ' supprime toutes les 7 dernières lignes y compris a partir de la cellule "Commentaires" de la colonne J
        "DONC ICI IL ME FAUDRAIT LE FAMEUX CODE"

          End With
End Sub

bonjour,

ce code fonctionne sans erreur (en principe) sur n'importe quel classeur.

as-tu fait un copier/coller du code ou l'as-tu retapé ? dans le second cas, vérifie que tu as bien mis les " autour du J.

Bonjour,

Ou déclarer les variables, si tu es en "Option Explicit"?

Bon W-E

j'ai éditer le code complet plus haut peu être c'est parce qu'il autre chose qui me bloque et qui interfère j'ai deux fois le For i = peu être ça brouille.

re- bonjour,

voici une proposition d'adaptation de la macro pour qu'elle puisse être insérée dans ton autre macro.

Sub supprdate()
dl = .Cells(Rows.Count, "J").End(xlUp).Row
For i = dl To 2 Step -1
If .Cells(i, "J") = "DATE" Then .Rows(i, i + 7).Delete shift:=xlUp
Next i
End Sub

Je débute lol alors j'essai au fur et a mesure par morceau de code donc il y a surement des trucs qui cloche dans mon code ou en trop qui servent a rien

si cela ne fonctionne toujours pas,

mets nous le code complet avec l'ajout du code proposé, et mieux encore le fichier dans lequel tu obtiens cette erreur.

le code est complet en haut j'ai édité avec le nouveau code ça me met une erreur a IF dans ton code tout fonctionne jusqu'a que le dernier bout de code

Peux-tu malgré ton nous mettre le code tel que tu l'as corrigé ? il devrait ressembler à ceci

Option Explicit
'
' Macro1 Macro
' Macro enregistrée le 20/06/2015 par STEF
'
' Touche de raccourci du clavier: Ctrl+c
'

Sub Macro1()
Dim Feuille As String
Dim J As Long
Dim Lgder As Long
Dim WsImp As Worksheet
Dim Cel As Range
Dim Progression As Double
Dim Pas As Double
Dim MeHwnd As Long
Dim i As Long
dim dl
Application.ScreenUpdating = True

  Set WsImp = Sheets("URABA DU PONT")

  With WsImp

'supprime toutes les lignes vides
   For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
      If Application.CountA(Rows(i)) = 0 Then Rows(i).Delete
  Next i
'supprime toutes les lignes au dessus de la cellule "Date" en colonne A
         Set Cel = .Columns("A").Find(what:="Date", LookIn:=xlValues, lookat:=xlWhole)
          If Not Cel Is Nothing Then
            .Rows("1:" & Cel.Row - 1).Delete
          Else
            MsgBox "Impossible de trouver le marqueur : Date"
            Exit Sub        'End
         End If
 'supprime toutes les lignes en dessous de la cellule "Site mobile" en colonne A
         Set Cel = .Columns("A").Find(what:="Site mobile", LookIn:=xlValues, lookat:=xlWhole)
          If Not Cel Is Nothing Then
            .Rows(Cel.Row & ":" & Rows.Count).Delete
          Else
            MsgBox "Impossible de trouver le marqueur : Site mobile"
            Exit Sub        'End
         End If
 ' supprime toutes les 7 dernières lignes y compris a partir de la cellule "Commentaires" de la colonne J
dl = .Cells(Rows.Count, "J").End(xlUp).Row
For i = dl To 2 Step -1
If .Cells(i, "J") = "Commentaires" Then .Rows(i, i + 7).Delete shift:=xlUp
Next i

          End With
End Sub

je met le fichier en lien ça sera plus simple

http://simple.gagnant.place.free.fr/ESSAI1.xls

Bonjour,

au temps pour moi,

voici une correction

dl = .Cells(Rows.Count, "J").End(xlUp).Row
For i = dl To 2 Step -1
If .Cells(i, "J") = "Commentaires" Then .Rows(i & ":" & i + 7).Delete shift:=xlUp
Next i

ok merci ça marche mieux par contre j'ai mis 6 ou lieu de 7 car il me bouffe des lignes qu'il ne devrait pas va falloir que je fasse des ajustements


En faite ce qu'il faudrait c'est supprimer donc les lignes avec la macro en rajoutant a conditions quelle soit vide car parfois j'ai vu qu'il y a 6 lignes en dessous et des fois 5 et donc en faisant ça ce serait mieux et je referais une macro pour supprimer les autres lignes

Rechercher des sujets similaires à "trouver macro"