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

XL 2013 Supprimer des lignes en fonction d'une formule

  • Initiateur de la discussion Initiateur de la discussion sr94
  • 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 !

sr94

XLDnaute Occasionnel
Bonjour,

Par macro je souhaiterais supprimer des lignes d'un tableau.

Mon tableau est filtré, j'ai besoin que dans la colonne "statut" il calcule la valeur d'une formule RECHERCHEV (cette valeur est dans un autre classeur) et que il supprime les lignes dont le résultat de la formule est "statut 45".

Comment peut-on écrire ça ?

Merci !
 
Re : Supprimer des lignes en fonction d'une formule

Merci st007 je vais voir ce que je peux faire avec les codes proposés (sachant que je ne masque pas, mais que je supprime les lignes et que je suis sur un tableau filtré=

Pour le fichier, c'est un fichier compliqué, avec des données confidentielles et qui fait référence à un autre fichier lui aussi confidentiel et qui est par ailleurs une extraction d'une base access, bref compliqué à envoyer sur un forum.
 
Re : Supprimer des lignes en fonction d'une formule

alors
entirerow.clear et plus .hidden=true
ensuite if ...then ... laisse tomber else ...

ceci dit, doublezero malgré son pseudo est bien meilleurs que moi avec excel, et sur ce forum, l'humour est de rigueur
pour être précis : " et que il supprime " au post#1 , avec une apostrophe, s'eut été plus joli .
il est par ailleurs de coutume de fournir un bout de fichier présentant ce que tu cherches à obtenir , c'est marqué dans la charte .

😛
 
Re : Supprimer des lignes en fonction d'une formule

Je ne peux pas poster le fichier, il est lourd, avec des macros, liens avec d'autres fichiers etc ...

J'ai quand même réussi à faire la macro suivante qui marche, qu'en pensez vous ?

Code:
'Mettre à jour la feuille
Sheets("Suppression_Statut45").Activate
Range("Tableau_Base_de_données2.accdb3[Colonne2]").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Production_Schedule").Activate


'formule_
Range("AH5").FormulaR1C1 = _
        "=IF(ISERROR(VLOOKUP([@N°],'Suppression_Statut45'!C5:C8,4,FALSE)),"""",VLOOKUP([@N°],'Suppression_Statut45'!C5:C8,4,FALSE))"

'Retirer le filtre
Range("A5").AutoFilter
     
'Supprimer les lignes
On Error Resume Next
For i = [AH65000].End(xlUp).Row To 2 Step -1
    If Cells(i, 34) <> "" Then Rows(i).Delete
Next i

'Remettre le filtre
Range("A5").AutoFilter

'effacer_formule
Range("AH5", Range("AH65536").End(xlUp)).ClearContents

Merci
Sandrine
 
- 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

Discussions similaires

Réponses
10
Affichages
221
Réponses
9
Affichages
389
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…