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 :

identification cellule doublon dans une collone --> renvoie d'une MSGBOX


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    chef de projet
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : chef de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Par défaut identification cellule doublon dans une collone --> renvoie d'une MSGBOX
    Bonjour,

    Je recherche à détecter sur ma colonne A (avec une 5 LIGNE d'en-tête) les valeurs en double.
    Quel est le code vba qui me permettrait, à la première valeur en double rencontrée (exemple : 1100) de se positionner sur la case de la première des deux valeurs identiques et de faire afficher un message box disant "attention, la valeur citron est en double, veuillez éliminer manuellement votre saisie si le double situé en "X" n'est pas une ancienne rupture.

    J'ai ecris un code mais je ne comprend pas pourquoi il ne fonctionne pas :

    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
    Private Sub Doublon()
     
        Dim Plage As Range
        Dim Cel As Range
     
        With Worksheets("SUIVIS URGENCE ")
     
        'en colonne "A" ? partir de A5
           Set Plage = .Range(.Cells(5, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
     
        'boucle la plage de la feuille "Compte" et cherche chaque valeur
       'en correspondance exacte dans la plage de la feuille "Source"
       For Each Cel In Plage
     
            If Application.CountIf(Plage, Cel.Value) > 1 Then
     
                MsgBox "Attention, la valeur '" & Cel.Value & "' est en doublon," _
                       & " veuillez supprimer manuellement votre saisie si le double situ? en '" & Cel.Address(0, 0) _
                       & "' n'est pas une ancienne r?f?rence en rupture(ligne en jaune) !"
     
                Cel.Interior.ColorIndex = 3
     
            End If
     
        Next Cel
     
    End Sub

    merci d'avance !
    Ben

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    A moins que tu ais vraiment besoin d'une MsgBox, tu pourrais faire ça en quelques secondes avec une mise en forme conditionnelle.
    Sélection de la colonne A > Ruban Accueil > Icone Mise en forme conditionnelle > Règles de mise en surbrillance > Valeur en double
    et tu choisis le format souhaité.

    Si tu veux regrouper les lignes en double, dans une nouvelle colonne, tu utilises une fonction NB.SI.ENS() pour compter le nombre d'occurrences du/des critère(s) dans l'ensemble de ton tableaux et tu fais un tri en utilisant cette nouvelle colonne comme clé de tri (du + grand au + petit).
    Ca aussi, ça prend moins d'une minute à mettre en place.

    Des solutions bien plus rapide à utiliser qu'une macro VBA.

Discussions similaires

  1. [XL-2013] Identification de doublons dans une colonne
    Par sosoboss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/08/2018, 10h48
  2. Réponses: 1
    Dernier message: 13/04/2018, 10h03
  3. Réponses: 3
    Dernier message: 10/10/2013, 11h11
  4. Réponses: 3
    Dernier message: 16/07/2013, 00h48
  5. Réponses: 3
    Dernier message: 19/03/2007, 18h29

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