Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU] Macro avec la fonction If et 2 conditions

  • Initiateur de la discussion Initiateur de la discussion chacal33
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chacal33

Guest
Bonsoir à toutes et à tous,

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

End If
Next i

End Sub

Merci d'avance pour votre temps et votre aide.

Matt

EDIT: Rajout de fichier effectué!
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro avec la fonction If et 2 conditions

Bonjour,

mets peut être un tout petit fichier avec le modèle de donnée à traiter et le résultat attendu, plus facile pour t'aider....

bonne soirée
@+
 
Re : Macro avec la fonction If et 2 conditions

BONJOUR,

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....
 
Re : Macro avec la fonction If et 2 conditions

Bonjour Pierrot,

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.
 
Re : Macro avec la fonction If et 2 conditions

Re,

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
 
Re : Macro avec la fonction If et 2 conditions

Re,

Super Pierrot, merci!
J'ai juste rajouté une autre condition, et ça fonctionne nickel!

Question subsidiaire, à quoi sert le code "Option Explicit"?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
912
Réponses
8
Affichages
782
Réponses
4
Affichages
735
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…