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 :

Valeur Cellule si doublon [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut Valeur Cellule si doublon
    Bonjour

    J'utilise ce code pour afficher les doublons de grosses listes Excel.

    J'aimerais le modifier afin que les valeurs des cellules dans la colonne I passent à 1 lorsqu'un doublon est détecté.

    Est ce possible ?

    Merci par avance pour votre aide

    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
    Option Explicit
    Sub Affich_Doublons_I()
    Dim plage As Range
    Dim Cel As Range
    Dim L As Integer, lig As Integer, col As Integer, i As Byte
     
    Application.ScreenUpdating = False
    L = ActiveSheet.Range("A10000").End(xlUp).Row
     
    Set plage = ActiveSheet.Range("A2:A" & L)
    For Each Cel In plage
    lig = Cel.Row - 1
    col = 8
    If Application.CountIf(ActiveSheet.Range("A2:A" & lig), Cel) > 0 Then Cel.Interior.ColorIndex = 6
    Next Cel
    Application.GoTo Reference:="R2C1"
    Application.ScreenUpdating = True
    End Sub

  2. #2
    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 le forum, lafafmentvotre,


    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
    Option Explicit
    Sub Affich_Doublons_I()
    Dim plage As Range
    Dim Cel As Range
    Dim L As Integer, lig As Integer, col As Integer, i As Byte
     
    Application.ScreenUpdating = False
    L = ActiveSheet.Range("A10000").End(xlUp).Row
     
    Set plage = ActiveSheet.Range("A2:A" & L)
    For Each Cel In plage
    lig = Cel.Row - 1
    col = 8
    If Application.CountIf(ActiveSheet.Range("A2:A" & lig), Cel) > 0 Then Cel.Interior.ColorIndex = 6
    cel.offset(0,9) = 1 'regardes et vérifies cette ligne
    Next Cel
    Application.GoTo Reference:="R2C1"
    Application.ScreenUpdating = True
    End Sub
    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...)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut
    Hello

    Voilà le script que j'avais récupéré (il fonctionne) et modifié :

    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
    Option Explicit
    Sub ColorerDoublons()
    Dim plage As Range
    Dim Cel As Range
    Dim L As Integer, lig As Integer, i As Byte
     
    Application.ScreenUpdating = False
    L = Sheets("Exemple").Range("B10000").End(xlUp).Row
    'Coloration des doublons
    Set plage = Sheets("Exemple").Range("B11:B" & L)
    For Each Cel In plage
    lig = Cel.Row - 1
    If Application.CountIf(Sheets("Exemple").Range("B10:B" & lig), Cel) > 0 Then Cel.Interior.ColorIndex = 6
    Next Cel
    Range("A1").Select
    Application.ScreenUpdating = True
    End Sub
    Ais-je mal modifié le code en sachant que mes valeurs commencent en A2 (la ligne 1 comportant les libellés de colonnes).

    Merci pour l'aide

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour le fil le forum les doublons sont senses etre sur la colonne a??? ta boucle par sur la colonne b!!!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2005
    Messages : 218
    Par défaut
    Hello

    Le premier code est celui que j'ai modifié pour utiliser sur la colonne A.
    Le second code est celui que j'ai récupéré pour utiliser la colonne B.

    C'est le code A qui ne fonctionne pas.

    Merci par avance pour le coup de main.

  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re ce type de code ne repere pas les doublons tu compare seulement avec la cellule dessus je te propose un code recherche les doublons sur la colonne a passe en jaune plus 1sur la colonne i
    par contre si tu veus traiter des lignes de doublons il faut adapter differament

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub essai()
     Dim c As Range, M As Object, L As Long
      Application.ScreenUpdating = False
      Set M = CreateObject("Scripting.Dictionary")
      For Each c In Range("a2:a" & Range("a65536").End(xlUp).Row)
      L = c
      If Not M.Exists(L) Then
      M.Add L, L
      Else
      c.Interior.ColorIndex = 6: c.Offset(0, 8) = 1
      End If: Next c
     End Sub

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

Discussions similaires

  1. Test valeur cellule pivot table
    Par ArnaudRenaud dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2006, 08h00
  2. [VBA-E]Lancer une macro sur changement de valeur cellule ?
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/03/2006, 14h22
  3. [VBA-Excel]Décale colonne tant que valeur cellule ....
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/02/2006, 17h56
  4. [VBA-E]Récupérer valeur cellule
    Par wanou44 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 06/02/2006, 12h52
  5. [POI]Récupérer valeur cellule suivant format
    Par leminipouce dans le forum Documents
    Réponses: 1
    Dernier message: 27/10/2005, 08h52

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