Indexer une sélection d’une base
Le problème à résoudre aujourd’hui est un problème auquel de nombreux développeurs Excel ont été confrontés. Il s’agit, après avoir sélectionné certains enregistrements grâce à un filtre dans une base Excel, de numéroter les résultats de la sélection.
Dans l’exemple ci-dessous, nous avons sélectionné dans une base tous les garçons (colonne A) et nous voulons créer (colonne H) des numéros d’ordre pour les lignes retenues par la sélection :
La solution que nous vous proposons ci-dessous est adaptée d’une solution proposée par un développeur VBA anglais, Pascal Daulton.
Elle fonctionne pour la base sur laquelle vous avez un filtre actif, dans la feuille active :
3 Commentaire(s):
Je n'ai peut-être pas bien vu le problème, mais la solution me parait bien complexe (et Intersect, et Specialcells, et Offset, et Resize,... svp n'en jetez plus !)
Est-ce que ceci ne peut pas faire l'affaire ?
Sub Indexation()
For Each ligne In Range("_FilterDataBase").Rows
If Not ligne.Hidden Then
Cells(ligne.Row, 8).Value = n
n = n + 1
End If
Next ligne
End Sub
By cduigou, sur 11:32 AM
Cela fonctionne parfaitement !
Une fois de plus, c'est l'occasion de voir qu'il y a très souvent, pour ne pas dire toujours, plusieurs façons d'atteindre le même but dans Excel :)
By Hervé Thiriez, sur 8:16 AM
Euh... certes, mais ce n'est tout de même pas à vous que je vais apprendre que tous les "chemins" qui mènent à Rome sont équivalents... :))
By cduigou, sur 11:43 AM
Enregistrer un commentaire
<< Accueil