je patauge dans une macro
Mon objectif est de supprimer toutes les lignes x si les cellules (B, x-1) et (B, x+1) contiennent le mot "Mur".
Pour l'instant j'ai ça et évidemment ça ne fonctionne pas (sinon je ne vous demanderais d'aide )
Sub Macro3()
'
' Macro3 Macro
Dim i As Integer
For i = [B65000].End(xlUp).Row To 1 Step -1
If InStr(Cells(2, i - 1), "Mur") > 0 And InStr(Cells(2, i + 1), "Mur") > 0 Then
Rows(i).Delete
En l'état toutes les lignes vons être supprimées, la colonne B contenant systèmatiquement le mot "Mur".... quoique, pas sûr que ce soit la ligne entière que tu veuilles supprimer... d'autre part, pas top toutes ces lignes vides pour gérer aisement un automatisme.... préférable de construire une vraie base de donnée lorsque l'on veut automatiser....
C'est effectivement la ligne entière que je souhaite supprimer.
En fait, en fonction classique, ça donnerait (en reprenant le fichier Essai.xls)
SI(ET(TROUVE("Mur ";B8);TROUVE("Mur ";B10);B9="");"Supprimer la ligne 9"; "Essayer ligne suivante")
J'espère que j'arrive à être clair dans mes explications...
Je sais qu'il faudrait des données plus propres. Mais mon objectif là est de nettoyer les données pour les utiliser dans une bdd propre justement.
regarde ceci, pas sur que ce soit le résultat attendu.....
Code:
Option Explicit
Sub test()
Dim i As Long
For i = Cells(Rows.Count, 2).End(xlUp).Row To 4 Step -1
If Cells(i + 1, 2) Like "*Mur*" And Cells(i - 1, 2) Like "*Mur*" Then Rows(i).Delete
Next i
End Sub