Valeur Colonne en Fonction du nom

Bonjour,

je débute en VBA et je recherche à détecter des doublons dans une colonne:

Sub Doublon()

Dim Plage As Range

Dim Cel As Range

With Worksheets("Nombre_caractère_FID")

'en colonne "B" à partir de B2

Set Plage = Range("B2", Range("B2").End(xlDown))

End With

'Parcours la sélection est colorie en rouge les doublons"

For Each Cel In Plage

If Application.CountIf(Plage, Cel.Value) > 1 Then

Cel.Interior.ColorIndex = 3

End If

Next Cel

End Sub

Ce code fonctionne en revanche, j'aimerai rendre dynamique la valeur B2: en ligne 1, j'ai des titres et j'aimerai en fonction d'un titre regarder dans cette colonne.

Si une personne a une idée, merci de votre aide.

Bonjour gayzor

Je ne vois que 2 possibilités

1) tu te positionnes sur le titre de la colonne dans laquelle tu veux rechercher tes doublons , tu récupères sa valeur et tu cherches à partir de cela

2) Tu poses une question du style quelle colonne voulez-vous ..etc..mais c'est moins bien à mon avis

A toi de voir en fonction de ton fichier et si j'ai bien compris..??

Bonne journée

Merci pour ta réponse.

En faite j'ai une autre macro qui remplie mon tableau Excel et assigne des titres en lignes 1.

Mais si jamais je modifie la macro qui remplit le tableau en inversant ou supprimant une colonne, ma macro doublon ne suivra pas. Il faudra que je la change à la main et je voudrais le faire en automatique

Re

Donc vois si tu peux faire ce que je t'ai dit en 1)

Sub Doublon()
Dim Plage As Range
Dim Cel As Range
Dim MaCol As Long
MaCol = ActiveCell.Column
Lettre = LettreColonne(MaCol)
With Worksheets("Feuil1")
'en colonne sélectionnée à partir de ligne 2
Set Plage = Range(Lettre & "2", Range(Lettre & "2").End(xlDown))
End With

'Parcours la sélection est colorie en rouge les doublons"
For Each Cel In Plage
If Application.CountIf(Plage, Cel.Value) > 1 Then
Cel.Interior.ColorIndex = 3
End If
Next Cel

End Sub
Function LettreColonne(NumCol As Long) As String
Dim reste, quotient As Long
quotient = Int(NumCol / 26)
reste = NumCol Mod 26
If quotient = 0 And reste = 0 Then
    Exit Function
End If
If quotient = 0 Then
    LettreColonne = Chr(64 + reste)
Else
    If reste = 0 Then
        quotient = quotient - 1
        If quotient = 0 Then
            LettreColonne = Chr(64 + 26)
        Else
            LettreColonne = Chr(64 + quotient) & Chr(64 + 26)
        End If
    Else
        LettreColonne = Chr(64 + quotient) & Chr(64 + reste)
    End If
End If
End Function

Tu te positionnes dans la colonne où tu souhaites rechercher tes doublons et tu lances ta macro

J'ai récupéré une fonction qui ramène parfaitement la lettre de la colonne sélectionnée, vois si tu peux faire quelque chose de cela

Bon courage

Salut gayzor, salut Patty5046,

un autre essai:

Sub Doublon()
Dim Plage As Range, xRg As Range, Plg As Range, Cel As Range
Dim xFirstAddress As String, xStr As String
On Error Resume Next
xStr = "colo" ' ici il faut adapter la valeur recherchée!!!!

With Worksheets("Nombre_caractère_FID")
    Set xRg = .Range("A1:Z1").Find(xStr, , xlValues, xlWhole, , , True)
    If Not xRg Is Nothing Then
        xFirstAddress = xRg.Address
        Do
            Set xRg = .Range("A1:Z1").FindNext(xRg)
            If Plg Is Nothing Then
                Set Plg = xRg
            Else
                Set Plg = Application.Union(Plg, xRg)
            End If
        Loop While (Not xRg Is Nothing) And (xRg.Address <> xFirstAddress)
    End If

Set Plage = .Range(Plg.Offset(1), Plg.Offset(1).End(xlDown))

End With

'Parcours la sélection est colorie en rouge les doublons"
For Each Cel In Plage
If Application.CountIf(Plage, Cel.Value) > 1 Then
Cel.Interior.ColorIndex = 3
End If
Next Cel
End Sub

@++

Merci à tous les deux.

Les deux fonctionnent mais celle de m3ellem1 permet une détection automatique d'un titre = m'évite de cliquer

Merci encore

Bonjour tous 2

Cela t'évite de cliquer mais tu dois modifier ta macro à chaque fois...

A moins que la colonne souhaitée reste la même pendant quelque temps auquel cas c'est en effet mieux...

Tout dépend de tes besoins

Bonne journée à vous

Rechercher des sujets similaires à "valeur colonne fonction nom"