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

Macros et VBA Excel Discussion :

Gestion des doublons


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Par défaut Gestion des doublons
    pour gérer mes doublons dans ma table j'ai fait ça mais ça marche pas pouvez vous me dire ou est l'erreur

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    ith Sheets("Remplissage")
        For Each cell In .Range("D3:D" & .Range("D65536").End(xlUp).Row)
            If Not cell = TextGDO Then
                Range("A" & num).Value = TextHTA
                Range("B" & num).Value = TextNom
                Range("C" & num).Value = TextExploit
                Range("D" & num).Value = TextGDO
                Range("E" & num).Value = Formulaire.ComboBoxPPI
                Range("F" & num).Value = TextPoste
                Range("G" & num).Value = TextCommune
                Range("H" & num).Value = Formulaire.ComboBoxModèle
                Range("I" & num).Value = Formulaire.ComboBoxConstructeur
                Range("J" & num).Value = Formulaire.ComboBoxTechnologie
                Range("K" & num).Value = Formulaire.ComboBoxTypeILD
                Range("L" & num).Value = Formulaire.ComboBoxAnnéeBatterie
                Range("M" & num).Value = TextCalibrePossible.Value
                Range("N" & num).Value = TextRéglageEffectif.Value
                Range("O" & num).Value = TextRéglagePréconisé.Value
                Range("P" & num).Value = Formulaire.ComboBoxDateControle
                Range("Q" & num).Value = Formulaire.ComboBoxAnnéeControleValise
                Range("R" & num).Value = TextGéocutil.Value
                Range("S" & num).Value = TextTerrain.Value
                Range("T" & num).Value = Formulaire.ComboBoxBatterie
                Range("U" & num).Value = Formulaire.ComboBoxPlatine
                Range("V" & num).Value = Formulaire.ComboBoxVoyant
                Range("W" & num).Value = Formulaire.ComboBoxTorres
                Range("X" & num).Value = Formulaire.ComboBoxModificationSchémas
                Range("Y" & num).Value = TextContenuACR.Value
                Range("Z" & num).Value = TextActionVisite.Value
                Range("AA" & num).Value = TextActionUltérieurement.Value
                Range("AB" & num).Value = Formulaire.ComboBoxSiteOpérationnel
                Range("AC" & num).Value = Formulaire.ComboBoxRésultat
        Exit For
            Else
                Modif = MsgBox("cette personne est déjà référencée dans la base" & Chr(10) & Chr(10) & _
                        "Voulez-vous remplacer ces données ?", vbYesNo + vbQuestion, "Demande d'enregistrement")
                ' On remplace la somme et le commentaire
                    If Modif = vbYes Then
                        Range("A" & num).Value = TextHTA
                        Range("B" & num).Value = TextNom
                        Range("C" & num).Value = TextExploit
                        Range("D" & num).Value = TextGDO
                        Range("E" & num).Value = Formulaire.ComboBoxPPI
                        Range("F" & num).Value = TextPoste
                        Range("G" & num).Value = TextCommune
                        Range("H" & num).Value = Formulaire.ComboBoxModèle
                        Range("I" & num).Value = Formulaire.ComboBoxConstructeur
                        Range("J" & num).Value = Formulaire.ComboBoxTechnologie
                        Range("K" & num).Value = Formulaire.ComboBoxTypeILD
                        Range("L" & num).Value = Formulaire.ComboBoxAnnéeBatterie
                        Range("M" & num).Value = TextCalibrePossible.Value
                        Range("N" & num).Value = TextRéglageEffectif.Value
                        Range("O" & num).Value = TextRéglagePréconisé.Value
                        Range("P" & num).Value = Formulaire.ComboBoxDateControle
                        Range("Q" & num).Value = Formulaire.ComboBoxAnnéeControleValise
                        Range("R" & num).Value = TextGéocutil.Value
                        Range("S" & num).Value = TextTerrain.Value
                        Range("T" & num).Value = Formulaire.ComboBoxBatterie
                        Range("U" & num).Value = Formulaire.ComboBoxPlatine
                        Range("V" & num).Value = Formulaire.ComboBoxVoyant
                        Range("W" & num).Value = Formulaire.ComboBoxTorres
                        Range("X" & num).Value = Formulaire.ComboBoxModificationSchémas
                        Range("Y" & num).Value = TextContenuACR.Value
                        Range("Z" & num).Value = TextActionVisite.Value
                        Range("AA" & num).Value = TextActionUltérieurement.Value
                        Range("AB" & num).Value = Formulaire.ComboBoxSiteOpérationnel
                        Range("AC" & num).Value = Formulaire.ComboBoxRésultat
                    Exit For
                    End If
                    If Modif = vbNo Then
                        Exit For
                    End If
            End If
        Next
    End With

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Apprends à nous dire ou plante ton code quinzième fois que je te le répete.

    Le seul endroit ou ça peut planter est la variable num.. Qui bien sûr n'apparait pas dans ton code.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Par défaut
    Ca plante pas , le code fonctionne mais cela c'est just le bout de code qui gère les doublons.

    le problème que mon formulaire saisi les données même si mon donnée existe dans le tableau

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Et bien ça devrait marcher. Le code que l'on t'a donné est bon.

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    dans le code que tu présentes, tu passes par une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    For Each cell In .Range("D3:D" & .Range("D65536").End(xlUp).Row)
            If Not cell = TextGDO Then
            ......
            exit for
    ...
    Si la première valeur de cell n'est pas egale à "TextGDO", tes autres cellules prennent leur valeur et tu sors de la boucle donc ça ne peut pas fonctionner, à mon avis.
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Si aucune des cell ne vaut TextGDO on rajoute en ligne num les valeurs; pourquoi çq ne marcherait pas ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des doublons
    Par Arsene12 dans le forum WinDev
    Réponses: 2
    Dernier message: 04/12/2007, 18h21
  2. Requete SQL sous Access : gestion des doublons
    Par mcroz dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 27/02/2007, 16h37
  3. Gestion des doublons
    Par bestall666 dans le forum Access
    Réponses: 9
    Dernier message: 19/02/2007, 16h15
  4. Gestion des doublons et dlookup
    Par bestall666 dans le forum Access
    Réponses: 5
    Dernier message: 14/02/2007, 23h01

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