XL 2016 Recherchez des valeurs et copiez-les dans un autre tableau en fonction de certaines conditions

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 !

bossman_16

XLDnaute Junior
Bonjour,

Je sollicite votre aide pour élaborer une formule Excel avec une fonction particulière. Dans la feuille intitulée "Tableau 1", une base de données est présente, et je souhaite copier uniquement le contenu des lignes affichant un montant dans la colonne F vers la feuille "Tableau 2".

Vous trouverez en pièce jointe un modèle de fichier Excel à titre d'exemple.

Je vous exprime d'avance ma gratitude pour votre assistance et me tiens à votre disposition pour toute clarification nécessaire.

Cordialement.
 

Pièces jointes

Bonjour @bossman_16 🙂 , @chris 😉, @Phil69970 😉,


Juste pour le fun, une version qui est plus rapide que ma précédente version (que j'ai supprimée). Environ 0,3 s pour 20 000 lignes de données sources. Cliquer sur le bouton Hop!.

Le code dans module1 :
VB:
Sub SupprLigne()
Dim formuA, formuB, der&, debut
   debut = Timer
   Application.ScreenUpdating = False
   Application.Goto Sheets("tableau 2").Range("a1"), True
   Sheets("tableau 1").Columns("a:f").Copy Columns(1)
   Rows(1).Delete
   formuA = Range("f3").FormulaR1C1
   formuB = "=if(" & Mid(formuA, 2) & "=0,na(),row())"
   der = Cells(Rows.Count, "a").End(xlUp).Row
   Range("f3").Formula = formuB
   Range("f3").AutoFill Range("f3:f" & der).Cells
   Range("f3:f" & der).Value = Range("f3:f" & der).Value
   Range("a3:f" & der).Sort key1:=Range("f3"), order1:=xlAscending, Header:=xlNo
   On Error Resume Next
   Range("f3:f" & der).Cells.SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete shift:=xlShiftUp
   der = Cells(Rows.Count, "a").End(xlUp).Row
   Range("f3").Formula = formuA
   Range("f3").AutoFill Range("f3:f" & der).Cells
   Range("f3:f" & der).Value = Range("f3:f" & der).Value
   MsgBox Format(Timer - debut, "0.0\ sec.")
End Sub
 

Pièces jointes

Dernière édition:
- 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

Retour