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 :

Besoin d'aide pour une macro de recherche de doublon [XL-2010]


Sujet :

Macros et VBA Excel

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Technicien d'essai
    Inscrit en
    Avril 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien d'essai
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 61
    Points : 31
    Points
    31
    Par défaut [XL-2010] Besoin d'aide pour une macro de recherche de doublon
    Bonjour RyuAutodidacte,


    Je viens d'intégrer ma macro pour changer les couleurs des lignes à chaque changement de valeur dans la colonne D, ça semble fonctionner comme çà.

    J'essaye aussi une autre approche pour la mise en forme conditionnelle.

    Sachant que dans mon fichier, j'ai une macro qui génère les 6 colonnes pour un nouvel élément, je suis en train de voir pour y intégrer ton code afin d'ajouter en plus la MFC.

    Merci encore pour l'aide apportée !

  2. #22
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonsoir Thierry_59300,

    Citation Envoyé par Thierry_59300 Voir le message
    Avant de vouloir gérer les doublons, j'avais réussi à faire une macro pour colorer les lignes mais en changeant de couleur à chaque fois que la valeur changeait dans la colonne D.
    Est-ce valable de le garder tel quel ou vaut-il mieux essayer d'en refaire un façon MFC comme avec le code pour les doublons ?
    En ce qui concerne la formule en MFC, la formule est : =MOD(ENT(SOMME(1/NB.SI($D$4:$D4;$D$4:$D4)));2)=1 (formule venant : http://boisgontierjacques.free.fr/ - très bon site)

    Mais bon dans ton cas je préfère par VBA sans MFC - par contre ton code est de type évènementiel et va s'activer toutes les 2 secondes c'est pas top - en tout cas pour moi ce n'est pas ce que j'aurais choisi

    Coïncidence, j'avais fait un code du même type pour moi y a qq temps, à toi de voir si il te correspond, je l'ai réadapté par rapport à ton fichier, il faudra juste changé la couleur si celle-ci ne te convient pas.
    Le voilà :
    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
    Sub Inter_Coul_Doublons()
    Dim Der_ligne As Long
    Dim cpt As Integer
    Dim Inve As Boolean, T!
     
    'Code : RyuAutodidacte (developpez.net - Forum Excel VBA)
     
     T = Timer
     With Feuil1
    Application.ScreenUpdating = False
    Der_ligne = .Range("B" & Rows.Count).End(xlUp).Row
     
    cpt = 1
     
    Inve = True
     
    For i = 4 To Der_ligne
        If .Range("D" & i) <> .Range("D" & i + 1) Then
            cpt = 1
            If Inve = True And cpt = 1 Then
                Inve = False
            .Range("B" & i).Resize(cpt, Cells(3, Columns.Count).End(xlToLeft).Column - 1).Interior.ColorIndex = xlNone
            Else
                Inve = True
                .Range("B" & i).Resize(cpt, Cells(3, Columns.Count).End(xlToLeft).Column - 1).Interior.ColorIndex = 6
            End If
        Else
            Do
            cpt = cpt + 1
            i = i + 1
            Loop Until .Range("D" & i) <> .Range("D" & i + 1)
            If Inve = True And cpt >= 1 Then
                Inve = False
                .Range("B" & i - cpt + 1).Resize(cpt, Cells(3, Columns.Count).End(xlToLeft).Column - 1).Interior.ColorIndex = xlNone
            Else
                Inve = True
                .Range("B" & i - cpt + 1).Resize(cpt, Cells(3, Columns.Count).End(xlToLeft).Column - 1).Interior.ColorIndex = 6
            End If
        End If
        cpt = 1
    Next
     
    Application.ScreenUpdating = True
    End With
    MsgBox "Couleur mise en : " & Format$(Timer - T, "0.0000s")
    End Sub
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    Technicien d'essai
    Inscrit en
    Avril 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien d'essai
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 61
    Points : 31
    Points
    31
    Par défaut
    Bonjour RyuAutodidacte,


    Merci pour cette nouvelle info, je vais tester ce code car le mien a en plus l'inconvénient d'activer systèmatiquement une cellule en bas de mon tableau à chaque changement, ce qui est énervant à la longue !

    Bonjour RyuAutodidacte,

    Je n'avais pas eu le temps de tester avant le code, mais là c'est fait et .... rien à redire, bravo, ça fonctionne à merveille !

    Je n'ai pas encore compris toute la syntaxe des deux codes, mais effectivement c'est beaucoup moins lourd que ce que j'avais fait.

    Le changement de couleur des lignes n'interfère pas avec la mise en évidence des doublons qui reste prioritaire, donc c'est parfait.


    Merci encore !!!


  4. #24
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 174
    Points
    4 174
    Par défaut
    Bonjour,
    Citation Envoyé par Thierry_59300 Voir le message
    Merci pour cette nouvelle info, je vais tester ce code car le mien a en plus l'inconvénient d'activer systèmatiquement une cellule en bas de mon tableau à chaque changement, ce qui est énervant à la longue !
    moi aussi j'ai trouvé ça énervant

    Concernant l'explication (grosso modo) du code Inter_Coul_Doublons :
    Je check la cellule du dessous pour savoir si elle est différente ou pas associé à un compteur qui détermine le nombre de cellule à prendre en compte (1 cellule ou plus)
    pour l'alternance de la couleur je me sers d'un interrupteur inve (inverse), qui à chaque passage dit :
    si tu es = à False alors passe à True (changement couleur), si tu es = True passe à False (changement de couleur)
    i est la pour l'incrémentation

    voilà
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre en n'oubliant pas d'indiquer qu'elle est la solution finale choisie

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Technicien d'essai
    Inscrit en
    Avril 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien d'essai
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2016
    Messages : 61
    Points : 31
    Points
    31
    Par défaut [XL-2010] Besoin d'aide pour une macro de recherche de doublon
    Bonjour RyuAutodidacte et merci pour l'aide et pour toutes ces explications.



    Cordialement,
    Thierry

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. besoin d'aide pour une macro
    Par isodoro dans le forum Excel
    Réponses: 13
    Dernier message: 11/06/2015, 10h10
  2. Besoin d'aide pour une macro
    Par chapeyfor dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/12/2013, 17h29
  3. besoin d'aide pour une macro
    Par STEFLOU dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/04/2012, 13h31
  4. Besoin d'aide pour une macro en visual basic
    Par raikkonen3 dans le forum VB.NET
    Réponses: 3
    Dernier message: 11/10/2008, 18h57
  5. Réponses: 4
    Dernier message: 02/09/2008, 21h57

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