Vous avez la possibilité d’écrire les résultats d’un filtrage, c’est-à-dire les lignes filtrées, dans une autre feuille de calcul ou dans un fichier texte. Cela présente l’avantage de pouvoir modifier davantage le résultat du filtre sans avoir à accéder à l’inventaire d’origine.
-Transférer les lignes filtrées vers une autre feuille de calcul
Si vous souhaitez utiliser une macro pour transférer les lignes filtrées vers une autre feuille de calcul, démarrez la macro.
Sub CopieDonneesFiltrees () Sheets ("Feuil4"). Activate ActiveCell.CurrentRegion.SpecialCells (xlVisible) .Copy Sheets ("Feuil6"). Activate Range ("A1"). Select ActiveSheet.Paste End Sub
À l’aide de la méthode SpecialCells et de la propriété CurrentRegion, vous pouvez déterminer toutes les cellules visibles dans la zone environnante. Copiez-le à l’aide de la méthode Copy, basculez vers l’autre feuille de calcul, placez le pointeur de la souris sur la cellule A1 et collez le contenu du presse-papiers à l’aide de la méthode Paste.
-Transférer les lignes filtrées dans un fichier texte
Si vous souhaitez fournir des données à un utilisateur qui n’utilise pas Excel, vous pouvez également enregistrer les données filtrées dans un fichier texte. Pour ce faire, transférez d’abord les données filtrées dans une feuille de calcul distincte, puis effectuez le transfert.
Sub TableaufiltredansfichiertexteEnregistrer () Dim cell As Object Dim i As Integer Dim iZ As Integer Sheets ("Feuil4"). Activate ActiveSheet.UsedRange.Copy Sheets ("Feuil6"). Activate Range ("A1"). Select ActiveSheet.Paste iZ = Range ("A65536"). End (xlUp) .Row Open "c: \ My Files \ Output.txt" For Output As # 1 For i = 1 To iZ Print # 1, ActiveCell.Value; ";"; _ ActiveCell.Offset (0, 1) .Value; ";"; _ ActiveCell.Offset (0, 2) .Value ActiveCell.Offset (1, 0) .Select Next Close # 1 MsgBox " Transfert de données terminé!" End Sub
Avec la méthode Copy et la propriété UsedRange, vous pouvez copier la zone utilisée et la coller dans la feuille de calcul TABLE6. Vous pouvez y déterminer la dernière cellule occupée de la colonne A. Vous pouvez le faire à l’aide de la propriété End, qui représente la cellule à la fin de la région qui contient la zone source. Dans l’exemple, la zone source est le numéro 65536, qui représente le nombre maximal de lignes dans un tableau Excel. Vous passez la constante de direction xlUp à cette propriété. En plus de xLUp, vous pouvez également utiliser xlToLeft, xlToRight ou xlDown, selon la cellule que vous souhaitez déterminer. Utilisez ensuite l’instruction Ouvrir pour ouvrir un fichier texte que vous n’avez pas besoin de créer au préalable. Maintenant, vous configurez une boucle For Next qui transférera vos lignes filtrées cellule par cellule vers le fichier texte A USGABE.TXT écrit. Pour ce faire, utilisez l’instruction Print et assurez-vous que le point-virgule est inséré comme séparateur entre les champs individuels. Après avoir transféré les données, fermez le fichier texte à l’aide de l’instruction Fermer et affichez un message d’information à l’écran, vous informant que le transfert est terminé.
Tableau: Le fichier texte avec le point-virgule comme séparateur