IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Compter doublons dans colonne datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut Compter doublons dans colonne datagridview
    Bonjour à tous,

    Une fois de plus je viens vers vous. J'ai dans mon application un Table1datagridview. Je souhaiterais pouvoir compter les doublons de deux colonnes en particulier (par exemple la colonne 7 et 9).

    Exemple :

    Colonne 7 // Colonne 9
    7 // 8
    12 // 10
    14 // 20
    7 // 8
    12 // 13
    25 // 11
    30 // 11

    J'aimerais récupérer ce résultat dans 2 variables (var7 pour colonne 7 et var9 pour colonne 9)
    Le hic aussi est que je dois jouer sur les deux colonnes.
    Dans l'exemple ci-dessus, j'ai 2 doublons dans la colonne 7 et 2 doublons dans la colonne 9.
    La difficulté vient aussi du fait que lorsqu'un doublon est détecté dans la colonne 7, je vérifie si dans la colonne 9, les valeurs sont aussi les mêmes pour les lignes considérés. Si elles sont identiques, je ne veut pas incrémenter ma var7. Même principe pour la var9 mais dans l'autre sens

    Dans cet exemple, le résultat sera var7 = 1 et var9 = 1

    J'ai pas réussi à mettre la main sur un bout de code qui permette de faire cela. Je pense qu'il faut faire une boucle sur le datagridview mais je ne sais pas comment faire.

    Encore une fois, merci pour votre future aide.

  2. #2
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Votre DataGridView est-il alimenté via une requête sur une base de donnée ?

    Si oui, vous pouvez facilement obtenir votre résultat via une simple requête sql.

    Exemple (sql server 2005) :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    --création d'une table temporaire et insertion des données pour l'exemple
    CREATE TABLE #T_TMP
    (
       COL INT
    )
     
    INSERT INTO #T_TMP VALUES (7)
    INSERT INTO #T_TMP VALUES (12)
    INSERT INTO #T_TMP VALUES (14)
    INSERT INTO #T_TMP VALUES (7)
    INSERT INTO #T_TMP VALUES (7)
    INSERT INTO #T_TMP VALUES (12)
    INSERT INTO #T_TMP VALUES (17)
    INSERT INTO #T_TMP VALUES (14)
     
    --requête permettant d'obtenir ce que vous voulez
    SELECT
       A.NBR,
       COUNT(*) as 'QUANTITY'
    FROM
       (
       SELECT
          COL,
          COUNT(*) AS 'NBR'
       FROM
          #T_TMP
       GROUP BY
          COL
       ) A
    GROUP BY
       NBR
     
    --supression de la table temporaire
    DROP TABLE #T_TMP
    Sinon, il vous faut écrire un algoritme qui parcours les lignes de votre contrôle en comptant les occurances de chaque valeur. Ce sera plus facile si votre table est triée.

    Bon code.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Salut et merci pour ta réponse tardive. Entre-temps j'ai du éditer mon premier post car la méthode que je cherche est un peu particulière. J'alimente mon Table1datagridview via une base access que je filtre ensuite de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Table1bindingSource.Filter = "Type='Mission'"
    Me.Table1DataGridView.DataSource = Table1bindingSource
    Me.Table1DataGridView.Visible = True
    Désolé d'avoir du éditer mon premier post

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Rebonjour à tous,

    Toujours à la chasse des doublons. Faire un algorithme est hors compétences pour moi .... Je pensais aussi à faire un truc de ce genre :

    La recherche s'effectue sur deux colonnes 7 et 9 du Table1datagridview. Je pensais pouvoir faire des boucles du style :

    1)La première boucle part de la première ligne de la colonne 7 jusqu'à l'avant dernière ligne (for A = .....)
    pour récupérer à chaque fois la valeur de ma colonne 7.
    2)J'intègre dans cette première boucle une deuxième boucle (for B=....) qui part de A + 1 jusqu'à la dernière ligne pour récupérer la nouvelle valeur de ma colonne 7.
    3)Je compare les deux valeur et si égale, je vérifie que pour ma ligne A la valeur de la colonne 9 est différente de la valeur de la colonne 9 de la ligne B. Si tel est le cas, j'incrémente mon doublon =doublon + 1.

    En code barbare, cela donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    dim doublon as integer = 0
     
    for a = première ligne Table1datagridview to avantdernière ligne Table1datagridview
        for b = a + 1 to dernièreligne Table1datagridview
             if Table1DataGridView.Item(7, a).Value = Table1DataGridView.Item(7, b).Value then
                  if  Table1DataGridView.Item(9, a).Value <> Table1DataGridView.Item(9, b).Value then
                        doublon = doublon + 1
                  end if
              end if
        next b
    next a
    Pensez vous que cela suffirait pour balayer ? Si oui , pouvez-vous m'aider pour la syntaxe des boucles ?

    Merci beaucoup pour votre future aide.

  5. #5
    Membre chevronné

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Par défaut
    Hello,

    Petite question complémentaire : que faire si une colonne (disons la colonne 7) contient plus de 2 fois la même valeur alors que l'autre (la colonne 9) contient des valeurs différentes ?
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Colonne 7 // Colonne 9
    7             // 8
    12           // 10
    14           // 20
    7             // 10
    8             // 13
    25           // 11
    7             // 11
    On a 7//8, 7//10 et 7//11, cela fait 1 ou ???
    Et si on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Colonne 7 // Colonne 9
    7             // 8
    12           // 10
    14           // 20
    7             // 8
    12           // 13
    25           // 11
    7             // 11
    Soit 7//8, 7//8 et 7//11, quelle doit être la valeur dans ce cas ? 1, 0, ??

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Salut plume13,

    En fait pour imager je cherche à compter le nombre d'interventions sur une journée.... Je pensais compter les doublons ,triplons, etc pour ensuite déduire le nombre de mes interventions mais cela ne va pas trop.
    Imaginons que la colonne 7 sont les arrivées et la colonne 9 les départs. Si dans mon tableau j'ai deux références identiques à l'arrivée et plus au départ, cela veut dire qu'ils ne sont pas repartis ensemble. Donc une intervention.
    Cela donnerait :

    On a 7//8, 7//10 et 7//11 et 7/25 : 3 interventions
    On a 7//8, 7//11 et 7//8 et 7/10 : 2 interventions
    On a 7//8, 7//10 et 7//8 et 7/10 : 1 intervention
    On a 7//8, 7//8 et 7//8 et 7/8 : 0 intervention
    On a 7//8, 7//10 et 7//11 : 2 interventions
    On a 7//8, 7//8 et 7//11 : 1 intervention
    On a 7//8, 7//8 et 7//8 : 0 intervention

    A écrire cela je prends conscience que ma suggestion du post précédent ne tient plus la route en cas de triplons ....
    J'ai mis + haut un exemple avec 4 valeurs identiques dans la colonne 7 juste pour te montrer même si dans mon projet, au maximum on aurait des triplons.

    Merci pour ta future aide.

  7. #7
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour à tous les participants de cette discussion.

    J'ai longuement hésité avant d'intervenir. Ce n'est jamais agréable de jeter un pavé dans la mare.

    Avant de songer à un algorithme, il faut rédiger un cahier des charges dépourvu de toute ambiguïté. Les métaphores, les images mentales, les exemples illustratifs, sont nécessaires pour établir ledit cahier. Mais au final, il est indispensable de pondre un texte clair, net, et précis.

    Bon courage.

  8. #8
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour à tous.

    Je complète mon intervention précédente par un passage à la pratique. Soit DGV un contrôle DataGridView dont les contenus des cellules sont de type Integer. La documentation indique que la valeur v de la cellule de rang j dans la colonne de rang i est DGV.Item(i, j).Value

    Il existe donc entre les variables v, i, et j une relation de la forme v = f(i, j)
    Cette écriture condensée facilitera la rédaction du cahier des charges. Dans une colonne i (raccourci commode pour "colonne de rang i"), il est question de doublons, puis à la réflexion de triplons, peut-être même de quadrons, et ainsi de suite. Alors généralisons tout de suite et parlons de polyons, dont la définition rigoureuse serait

    Dans une colonne i un terme x est un polyon si et seulement s'il existe plusiers valeurs de j telles que x = f(i, j)
    Mais cela serait insuffisant pour votre cahier des charges, puisque la recherche des polyons dans une colonne est tributaire d'une autre colonne qui lui est associée. Il faut donc considérer une colonne principale p et une colonne associée a, et distinguer entre deux sortes de polyons,

    – Les "polyons absolus" relevés dans la colonne principale sans tenir compte de la colonne associée,
    – Les "polyons relatifs" déterminés dans la colonne principale en tenant compte de la colonne associée.
    Le point délicat de votre cahier des charges est évidemment la façon dont on doit tenir compte de la colonne associée. Mais nous disposons maintenant d'un vocabulaire qui nous y aidera. Je vais vous dire comment j'ai cru comprendre votre cahier des charges. Tant pis si je me trompe, il vous sera toujours loisible de le modifier. Voici donc mon interprétation, pour laquelle j'ai construit un algorithme que je vous communiquerai :

    Pour une colonne principale p et une colonne associée a, un polyons relatif x est par définition un polyon absolu relevé dans la colonne p, pour lequel on peut trouver une ligne j telle que x = f(p, j) et x <> f(a, j).
    En résumé,

    Soit DGV un contrôle DataGridView dont les contenus des cellules sont de type Integer. Comme la valeur v de la cellule de rang j dans la colonne de rang i est DGV.Item(i, j).Value, il existe entre les variables v, i, et j une relation de la forme v = f(i, j). On est amené à considérer une colonne principale p et une colonne associée a. Dans la colonne p, on appelle polyon absolu tout terme x pour lequel on peut trouver plusieurs lignes j telles que x = f(i, j). Dans cette même colonne p, on appelle polyon relatif tout polyon absolu pour lequel on peut trouver une ligne j telle que x = f(p, j) et x <> f(a, j). Il s'agit de trouver le nombre de polyons relatifs contenus dans la colonne principale p.
    Passons maintenant au code

    Nous commençons par une fonction PolyonAbsoluExistant(v, i) qui renvoie un booléen indiquant si le nombre v est polyon absolu dans la colonne i.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Function PolyonAbsoluExistant(ByVal v As Integer, ByVal i As Integer) As Boolean
            Dim Ok As Boolean, j As Integer, n As Integer
            Ok = False : n = 0
            With DGV
                For j = 0 To .RowCount - 1
                    If .Item(i, j).Value = v Then
                        n = n + 1
                        If n = 2 Then Ok = True : Exit For
                    End If
                Next j
            End With
            Return Ok
        End Function
    Nous cherchons alors à créer une fonction PolyonsAbsolus(i) renvoyant la liste des polyons absolus contenus dans la colonne i. En première analyse, nous envisageons de parcourir la colonne i, de repérer ceux d'entre eux qui sont des polyons absolus, et d'empiler ces derniers dans la liste cherchée. Mais cela ne convient pas, car il ne faut empiler qu'une fois un même polyon
    absolu. C'est pourquoi le code de la fonction PolyonsAbsolus(i)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        Private Function PolyonsAbsolus(ByVal i As Integer) As Integer()
            Dim Lst() As Integer, j As Integer, n As Integer, v As Integer
            ReDim Lst(0)
            With DGV
                For j = 0 To .RowCount - 1
                    v = .Item(i, j).Value
                    If PolyonAbsoluExistant(v, i) Then
                        If OkAjoutPolyon(v, Lst) Then
                            n = Lst.Count : ReDim Preserve Lst(n)
                            Lst(n) = v
                        End If
                    End If
                Next j
            End With
            Return Lst
        End Function
    exploite une fonction OkAjoutPolyon(v, Lst), qui renvoie un booléen autorisant l'empilage du polyon absolu v dans la liste Lst

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Private Function OkAjoutPolyon(ByVal v As Integer, ByVal Lst() As Integer) As Boolean
            Dim Ok As Boolean
            Dim k As Integer, n As Integer
            n = Lst.Count - 1 : Ok = True
            If n > 0 Then
                For k = 1 To n
                    If Lst(k) = v Then Ok = False : Exit For
                Next k
            End If
            Return Ok
        End Function
    Le lecteur, ce petit fûté, a déjà subodoré que nous allons maintenant nous attaquer aux polyons relatifs, pour une colonne principale p et une colonne associée a. Cela se fait par une fonction PolyonsRelatifs(p, a), qui renvoie effectivement la liste des polyons relatifs. Pour ce faire, elle récupère la liste des polyons absolus, parcourt celle-ci, et empile ses termes dans la liste des polyons relatifs, pourvu que le cahier des charges le permette. C'est pourquoi le code de la fonction PolyonsRelatifs(p, a)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Private Function PolyonsRelatifs(ByVal p As Integer, ByVal a As Integer) As Integer()
            Dim LstR() As Integer, LstA() As Integer
            Dim j As Integer, n As Integer, v As Integer
            ReDim LstR(0)
            LstA = PolyonsAbsolus(p)
            For j = 1 To LstA.Count - 1
                v = LstA(j)
                If OkMaintenirPolyon(v, p, a) Then
                    n = LstR.Count : ReDim Preserve LstR(n)
                    LstR(n) = v
                End If
            Next j
            Return LstR
        End Function
    exploite une fonction OkMaintenirPolyon(v, p, a), qui renvoie un booléen autorisant l'empilage du polyon absolu v dans la liste LstR

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Private Function OkMaintenirPolyon(ByVal v As Integer, ByVal p As Integer, ByVal a As Integer) As Boolean
            Dim Ok As Boolean
            Dim j As Integer
            Ok = False
            With DGV
                For j = 0 To .RowCount - 1
                    If .Item(p, j).Value = v Then
                        If .Item(a, j).Value <> v Then Ok = True : Exit For
                    End If
                Next j
            End With
            Return Ok
        End Function
    Il est à noter que cette fonction est essentielle, car elle traite la partie la plus délicate du cahier des charges. Les procédures précédentes sont toutes privés. Mais nous arrivons à la fonction qui délivre le nombre de polyons relatifs. Elle est publique. C'est une fonction-chef. D'ailleurs ça ce voit au fait qu'elle ne fait pas grand'chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Public Function NombrePolyonsRelatifs(ByVal p As Integer, ByVal a As Integer) As Integer
            Dim Nbr As Integer
            Nbr = PolyonsRelatifs(p, a).Count - 1
            Return Nbr
        End Function
    Dans l'espoir que cela pourra vous aider.

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Bonjour Jean Marie Grave,

    Merci de ta participation sur ce Topic. Effectivement j'ai beaucoup imagé pour essayer de dire ce que j'ai besoin . Pour moi je sais ce que je veux exactement. Mais c'est pas toujours évident de le restituer en brut. Je viens de lire ton dernier Topic et je t'avoue que je ne comprends pas tout du fait de mon faible niveau de connaissance.

    La colonne i serait ma colonne 7 (la fameuse arrivée ....)
    Par contre quelle serait ma colonne 9 (départ) :
    ...colonne principale p et une colonne associée a...
    Et à quoi correspondrait chez moi ta troisième colonne ?
    J'ai aussi glissé pour l'instant ton code dans un module. j'ai remplacé DGV par mon tableau. J'ai juste des erreurs concernant les count ou il me dit "count n'est pas un membre de System.array "

    Enfin comment je pourrais par la suite appeler ce module ?
    Pour info je précise que je fais tout en framework 2.

    plume13 : J'ai essayé de retranscrire ton code pour l'adapter mais je rame sec ....

  10. #10
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Bonjour.

    Vous avez p = 7 et a = 9. Quant à i, c'est une variable muette.
    Pour un tableau Tab(), vous pouvez peut-être remplacer Tab.Count par UBound(Tab). En tout cas c'était comme ça en Vb6.
    Je pourrais peut-être vous envoyer en zip l'intégralité du programme que j'ai fait pour vous apporter cette aide. Dites-moi si vous êtes intéressé(s) et je verrai ce que je peux faire.

    Cordialement.

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Re,

    En fait l'erreur est la même et sur toutes les lignes ou il y a le mot count :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    n = Lst.Count : ReDim Preserve Lst(n)
    For j = 1 To LstA.Count - 1
    Nbr = PolyonsRelatifs(p, a).Count - 1
    count n'est pas un membre de System.array
    Et je suppose que la variable Nbr me donnera le résultat ?

  12. #12
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Très juste.

    Alerte !

    Un peu plus haut, j'ai dit une sottise. Pour un tableau Tab(), Tab.Count donne le nombre de termes, alors que UBound(Tab) donne le rang du dernier terme. Ne vous prenez donc pas les pieds dans le tapis en corrigeant.

    Avec mes excuses.

  13. #13
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Re,

    J'ai essayé de changer mais cela ne marche pas.
    Au départ j'ai mis partout des Ubound et je n'avais plus d'erreurs de compilation. Puis j'ai fait un test et je n'obtenais rien dans Nbr
    En fait il y a plusieurs .count dans les différentes fonctions et comme tu l'as dit, j'ai les pieds à moitié dans le tapis ....

  14. #14
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Vu, IL-MAFIOSO

    En conséquence, je vous propose de faire les corrections dans mon programme, puis de vous l'envoyer intégralement. Il faudra seulement attendre un peu. Au fait, quand vous dites que vous n'obtenez rien dans Nbr, cela signifie-t-il que cette fonction ne répond pas, ou qu'elle répond 0 ?

    À bientôt.

  15. #15
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Vous voici de retour, je vous salue.

    La colonne principale est la 9, l'auxiliaire est la 15. Il faut donc faire
    p = 9, a = 15
    Bon courage.

  16. #16
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Re,

    Ok je testerai mais là je pars en vacances une semaine. Donc dès mon retour, je me manifesterai.

    A bientôt

  17. #17
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Alors bonnes vacances.

  18. #18
    Membre très actif
    Homme Profil pro
    Retraité intello
    Inscrit en
    Juillet 2012
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité intello

    Informations forums :
    Inscription : Juillet 2012
    Messages : 186
    Par défaut
    Me revoici.

    Le programme se compose de deux modules :

    a) un formulaire nommé "Accueil" et intitulé "Aide pour IL-MAFIOSO", sur lequel sont posés
    un contrôle DataGridView nommé "DGV", de cotes 332 × 244,
    un bouton de commande nommé "bTst" et intitulé "Tester".
    b) un module standard nommé "Algorithme"

    Dans le fichier texte donné en pièce jointe vous trouverez le code à placer dans "Accueil" et celui à placer dans "Algorithme". Ces deux placements peuvent s'effectuer par copié-collé intégral.

    Avec l'interprétation que je me suis donnée de votre cahier des charges, vous devez trouver 1 quand vous cliquez sur le bouton. Si mon interprétation est mauvaise, la seule procédure à modifier sera la fonction privée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OkMaintenirPolyon(v, p, a)
    En espérant que tout ira bien.
    Fichiers attachés Fichiers attachés

  19. #19
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Bonjour,

    Si je souhaite faire cette recherche de doublons sur la colonne 9 en vérifiant ensuite la 15 par exemple pour correspondre à mon cahier des charges, quelles sont les variables affectées aux colonnes ou je veux faire la recherche ?

Discussions similaires

  1. Supression doublons dans colonne Excel
    Par santanas2b dans le forum C++Builder
    Réponses: 1
    Dernier message: 14/06/2013, 17h21
  2. Réponses: 1
    Dernier message: 09/02/2012, 18h30
  3. Calculer le nombre de doublon dans un datagridview
    Par xabidof dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/01/2010, 14h03
  4. [VB2005] Eviter saisie de doublon dans un datagridview
    Par fumesec dans le forum Windows Forms
    Réponses: 0
    Dernier message: 01/10/2009, 12h53
  5. supprimer doublon dans colonne
    Par marie33000 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2009, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo