• Initiateur de la discussion Initiateur de la discussion boubou52
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

boubou52

Guest
Bonjour,

je voudrais une macro qui me signale uniquement dans le cas où on trouve le doublon à la fois dans la colonne A et B. voir exemple ci dessous . Merci

Colonne A Colonne B Doublon
test1 essai1
test2 essai2
test3 essai3
test4 essai4
test5 essai5
test1 essai4
test1 essai1 OK
 
Bonjour oubou, le Forum

Je vois une solution VBA comme ceci, (je pense que par Formule, notre Spécialiste, Monique pour ne pas la citer te trouveras plus pratique)

Mais donc voici un Algo VBA pour faire ceci :

Code:
Option Explicit
Sub TheTwiceTracker()
Dim TheRange As Range, Cell As Range
Dim TheString As String
Dim i As Integer


    With Sheets('TaFeuille')
        Set TheRange = .Range('A1:A' & .Range('A1000').End(xlUp).Row)
            For Each Cell In TheRange
            TheString = Cell & Cell.Offset(0, 1)
                    For i = 1 To TheRange.Rows.Count
                        If Not Cell.Offset(0, 2) = 'OK' Then
                            If TheString = .Range('A' & i) & .Range('B' & i) Then
                                If Not i = Cell.Row Then
                                    .Range('C' & i) = 'OK'
                                End If
                            End If
                        End If
                    Next i
            Next Cell
    End With
End Sub

Bon Appétit
@+Thierry
 
Aie aie aie

Dur Dur de faire les identations sur ce Forum ...

Bon voici le code tel quel :

Sub TheTwiceTracker()
Dim TheRange As Range, Cell As Range
Dim TheString As String
Dim i As Integer


With Sheets('TaFeuille')
Set TheRange = .Range('A1:A' & .Range('A1000').End(xlUp).Row)
For Each Cell In TheRange
TheString = Cell & Cell.Offset(0, 1)
For i = 1 To TheRange.Rows.Count
If Not Cell.Offset(0, 2) = 'OK' Then
If TheString = .Range('A' & i) & .Range('B' & i) Then
If Not i = Cell.Row Then
.Range('C' & i) = 'OK'
End If
End If
End If
Next i
Next Cell
End With
End Sub

Re Bon App
@+Thierry
 
Bonjour à Toutes et Tous
Boubou et l'es @+T !

Diable que c'est beau maintenant mais il faut s'habituer

En attendant Monique
une essai avec

=SI(((NB.SI(Plage1;A1)>1)*(NB.SI(Plage2;B1)>1))=1;'OK';'')

Les plages de cellules sont nommées (Plage 1 et Plage2.. pas très original mais ....) et ces plages commencent en A1 et B1 donc la formule à 'tirer' ensuite est à mettre en C1 .... ou ailleurs

@+ GD :evil:
 
Ben écoute Boubou,

Pour moi en VBA c'est très simple, mais en Formule c'est très compliqué !

... et comme j'ai dit, tu auras peut-être la chance d'avoir un ou une contributrice qui te donneras la même chose en Formule.... Mais peut-être faudrait-il que tu soies un poil plus zen, car mine de rien j'ai cherché une solution pour toi...

Bon Appétit
@+Thierry
 
Merci pour le temps que t'as pris et désolée pour la réponse brusque mais je ne connais que les formules et le VBA c du chinois pour moi...mais je pense que t'as contribution servira à d'autres ou me servira plus tard quand je serai moins bete ;-))
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
533
Réponses
40
Affichages
3 K
Réponses
10
Affichages
692
Réponses
35
Affichages
1 K
  • Question Question
Microsoft 365 Userform recherche
Réponses
10
Affichages
754
Retour