Code VBA police et doublon

Bonsoir

Un soucis avec un code VBA qui détecte un doublon mais dont la couleur n s'efface pas lors du retrait du doublon.

Comment ajouter la police et en gars à un code VBA qui permet d'avoir le nom écrit en majuscule dans toutes les cellules.

Je joins le fichier modele

Merci pour l'aide et bonne soirée

M07

Bonjour

Un essai à tester. Te convient-il ,

Bye !

Bonjour gmb et merci du fichier retour

Lorsque j'ai un doublon de détecter, les deux cellules se colorent en bleu, parfait .Mais quand j'efface le nom en double la couleur s'efface, mais pas la couleur de l'ancien doublon qui avait été détecté.

Que dois je ajouter au code VBA qui transforme les minuscules des cellules en majuscules pour que je puisse toujours avoir la même police en gras ?

Merci encore et belle après midi

M07

Bonjour

Toujours ennuyé avec le fichier

Quand j'essaie d'ouvrir le fichier avec mon mac Excel version 16.12 (180410), j'ai un message d'alerte ...Désolé....nous avions rencontré un problème dans le contenu.....si la source de ce classeur est fiable cliquez sur Oui

Je le fais et obtiens le message suivant : Excel a pu ouvrir le fichier en supprimant ou en réparant le contenu illisible ....

Du coup le fichier ne fonctionne pas correctement.... Y a t il une solution ?

Avec version 2011, la couleur du doublon sur les deux cellules se met bien mais quand je supprime un doublon , la couleur ne s'efface pas sur l'orignal.

Merci de l'aide

Bonne fin de journée

Cdlt

M07

Bonjour

Nouvel essai.

Bye !

Bonjour

Merci pour ce nouvel essai, décidément pas chanceux, je n'arrive pas à l'ouvrir. J'ai le message suivant qui me bloque le dossier.

Erreur d'exécution "'429"

Un composant ActiveX ne peut pas créer d'objet

Cdt

M07

C'est curieux... Et je ne vois pas que te dire...

Désolé !

Bye !

Bonjour

Je cherche désespérément ce qui ne va pas pour ce doublon.....

Et en reprenant un ancien fichier essai, que j'ai décortiqué, je me suis rendu compte qu'il y avait une petite anomalie sur le repérage du doublon et le coloriage de la cellule.

Je joins le fichier explicatif , ça sera plus simple à comprendre.

Merci et bonne journée

Cdlt

M07

Bonjour

Le problème, c'est que le fichier qui te pose problème n'a pas la même structure que l'ancien fichier que tu joins.

Je te joins une nouvelle version un peu modifiée du derbier fichier.

Elle est compressée : sait-on jamais, peut-être ainsi pourras-tu l'ouvrir ?

Au cas où, je joins le code de la page VBA attachée au module 1 :

Dim plage As Range, cell As Range, tablo(), dico As Object
Dim i&, iR&, j&, k&

Sub Doublons()

    Set dico = CreateObject("Scripting.Dictionary")
    Set plage = Range("C14")
    For j = 3 To 18 Step 3
        Set plage = Union(plage, Range(Cells(13, j), Cells(74, j)))
    Next j

    plage.Interior.Color = xlNone   'On enlève les couleurs des colonne C,F,I,L et O
    tablo = Range("A1:P74")

    'On compte les valeurs indentiques
    For i = 13 To UBound(tablo, 1)
        For j = 3 To UBound(tablo, 2) - 1 Step 3
            If tablo(i, j) <> "" Then
                If dico.exists(UCase(tablo(i, j))) Then
                    dico(UCase(tablo(i, j))) = dico(UCase(tablo(i, j))) + 1
                Else
                    dico(UCase(tablo(i, j))) = 1
                End If
            End If
        Next j
    Next i

    'on traite les doublons
    For i = 13 To UBound(tablo, 1)
        For j = 3 To UBound(tablo, 2) - 1 Step 3
            If dico(UCase(tablo(i, j))) > 1 Then
                Cells(i, j).Interior.Color = Range("U3").Interior.Color
            End If
        Next j
    Next i
End Sub

et celui attachée à la feuille "ORGA MODELE" :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("C13:C74, F13:F74, I13:I74, L13:L74, O13:O74, R13:R74,C9")) _
            Is Nothing Then
        Call Doublons
    End If
End Sub

  'POUR COLONNE Q R S

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("S13:S74")) Is Nothing Then
        Ligne = ActiveCell.Row
        Range("Q" & Ligne) = Range("Q" & Ligne) & " "
        Range("R" & Ligne) = Range("R" & Ligne) & " "

    ElseIf Target.Address = "$U$3" Then
        Call Doublons
    End If
End Sub

Bonjour

Merci une nouvelle fois pour ce retour.

Hélas toujours des soucis d'ouverture et donc de fonctionnement

Je résume

Dans le premier fichier envoyé je pouvais l' ouvrir avec excel mac 2016 ( doublon détecté mais la couleur de s'effaçait pas après la surpression du ou des noms en double)

Dans la version V1 reçu, impossible de l'ouvrir avec excel mac 2016 (voir message d'erreur ci dessous), s'ouvre avec excel 2011 ( doublon détecté, la couleur s'efface en supprimant le nom sauf sur la dernière cellule lorsqu'il reste un seul nom)

Dans la version 2 et 3, je ne peux l'ouvrir qu'avec excel 2011 mais j'ai un message d'erreur dès le début qui m'empêche d'aller dans le fichier ( erreur d'exécution 429, voir ci dessous).

Le déboggage m'envoie sur la ligne : Set dico = CreateObject("Scripting.Dictionary") est ce vraiment là où est le problème....

C'est agaçant car il semblerait qu'il ne manque pas grand chose pour que la fonction doublon fonctionne parfaitement....

Cdt

M07

10 mai 2018 10 mai 2018 bis

Bonjour

La fonction "Dictionary" n'existe pas sur les vesion Mac de Excel. Je pense en effet que tes malheurs viennent de là.

Dommage !

Bye !

Rechercher des sujets similaires à "code vba police doublon"