Forum Discussion
Supprimer des lignes d'un fichier suivant critéres
Sub nom_de_site()
Dim i As Long
Dim k As Long
Dim l As Long
l = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To l
If Cells(i, 1).Value = "A" Then
k = Worksheets("nom de site " & Cells(i, 1).Value).Range("A" & Rows.Count).End(xlUp).Row
Range(Cells(i, 1), Cells(i, 10)).Copy Destination:=Worksheets("nom de site " & Cells(i, 1).Value).Cells(k + 1, 1)
Else
End If
Next i
End SubDans le fichier joint, vous pouvez cliquer sur le bouton de la cellule K2 pour exécuter la macro. Dans cet exemple, je présume que votre nom de site est «A». tous les résultats pour le nom de site «A» sont copiés dans la feuille de travail «nom de site A ».
- Dominique63Aug 24, 2022Copper Contributor
Bonjour
Super, votre exemple marche super bien
Je voudrais donc appliquer ce systéme à mon tableauJe suppose que l'encadré est un codage pour: une macro?
Comment je fais à partir de mon tableau , pour obtenir le meme résultat que vous, quel process pour créer cette macro s'il sagit bien de cela...
Désolée, mais je suis vraiment nulle........ pas formée
Merci de votre aide- OliverScheurichAug 24, 2022Gold Contributor
Bonjour, il ne devrait pas y avoir de problèmes d’adaptation de la macro à votre fichier. Tout ce que je sais, c’est que votre dossier contient 30 000 lignes. Pouvez-vous joindre une capture d’écran de votre tableur ou un fichier Excel sans données confidentielles pour que je puisse adapter la macro?
=INDEX(A$2:A$10000;PETITE.VALEUR(SI($A$2:$A$10000="A";LIGNE($1:$9999));LIGNE(1:1)))Vous pouvez aussi bien appliquer cette formule. Dans le dossier ci-joint, j’ai entré la formule dans la cellule L2. La formule doit être saisie avec ctrl+shift+enter si vous ne travaillez pas avec Office365 ou 2021. Puis j’ai traîné la formule à travers la gamme L2:T3288.
Avec quelle version Excel travaillez-vous? Avec Office365 ou 2021, vous pouvez utiliser la fonction FILTER.