Bonjour, pour mon programme je doit faire un système de recherche de cellule d'une datagridview.

En sachant que j'ai 18 colonnes et 1667 lignes par page soit 30006 cellules par page (18*1667).

En réalité c'est plutôt un problème de calcule plutôt que de programmation. Par exemple si l'utilisateur veut se rendre à la cellule 5 la cellule numéro 5 de la ligne 1 doit être souligné.

Si l'utilisateur veut se rendre à la cellule 20 là, c'est la cellule numéro 2 de la ligne 2 qui doit être souligné puisqu'il y à 18 cellules par ligne avec "20" on passe donc à la ligne 2 et la deuxième cellule (colonne) de cette ligne.

Autre exemple, si l'utilisateur veut se rendre à la cellule 30008 je doit donc me rendre à la page 2, la ligne numéro 1 et souligner la cellule numéro 2 (puisque j'ai 30006 cellule total par page).

Actuellement, pour trouver la bonne page avec la bonne ligne et la bonne cellule j'utilise une boucle (o = numéro de cellule, l la ligne et p la page) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
         While a <> val
                o = o + 1
                If (o = 19) Then
                    o = 1
                    l = l + 1
                End If
                If (l > 1666) Then
                    p = p + 1
                    o = 1
                    l = 0
                End If
 
                a = a + 1
            End While
Le code fonctionne bien mais si l'utilisateur veux se rendre à la cellule 25 654 198 458 vous comprendrez que le temps que la boucle While se termine on a le temps de lire son journal et de boire un café

Je doit être bête puisque je ne trouve pas de calcule pour trouver directement la page, la ligne et le numéro de cellule de cette ligne à souligner

Si une personne bonne en calcule pouvez m'aider je serrais ravis