Boucle sur Doublon

Bonsoir le Forum

Comment faire pour faire tourner une boucle mais qu'en fonction de certaines cellules remplies

Je cherche à remplir en colonnes "B" et "C" les cellules vides en fonction des doublons de la colonnes "A"

Si cellules en "B" et "C" vides pour une série de doublon alors reste vide

je place en pièce jointe un exemple à obtenir

D'avance je vous remercie pour votre aide et votre disponibilité

14base-lot.xlsm (15.43 Ko)

Bonsoir Eole, bonsoir le forum,

Essaie comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim TMP As Variant 'déclare la variable TMP (tableau TeMPoraire)
Dim S As String 'déclare la variable S (Sexe)
Dim DT As String 'déclare la variable DT (DaTe)

Set O = Worksheets("Base") 'définit l'onglet O
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    D(TV(I, 1)) = "" 'alimente le dictionnaire D avec les données en colonne 1 de TV (le propriétaire)
Next I 'prochaine ligne de la boucle
TMP = D.Keys 'récupère dans le tableau temporaire TMP la liste des éléments du dictionnaire D sans doublon
For J = 0 To UBound(TMP) 'boucle 1 : sur tous les éléments J du tableau temporaire TMP
    S = "": DT = "" 'initialise les variables S et DT
    For I = 2 To UBound(TV, 1) 'boucle 2 : sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
        If TV(I, 1) = TMP(J) Then 'condition 1 : si la donnée ligne I colonne 1 de la boucle 2 correspond à l'élément TMP(J) de la boucle 1
            If TV(I, 2) <> "" Then 'condition 2 : si la donnée ligne I colonne 2 n'est pas vide
                S = TV(I, 2) 'définit le sexe F
                DT = CStr(DateSerial(Year(TV(I, 3)), Month(TV(I, 3)), Day(TV(I, 3)))) 'définit la date DT (convertie en texte)
            Else 'sinon
                O.Cells(I, 2).Value = S 'renvoie le sexe S dans la cellule ligne I colonne 2
                O.Cells(I, 3).Value = DT 'renvoie la date DT dans la cellule ligne I colonne 3
            End If 'fin de la condition 2
        End If 'fin de la condition 1
    Next I 'prochaine ligne de la boucle 2
Next J 'prochain élément de la bouicle 1
End Sub

Il y a un soucis dans ton resultat car tu considères Hardou8 identique à Hardou9. Le code proposé les distingues comme deux propriétaires différents !?...

Bonsoir ThauThème

merci pour ton aide et ta disponibilité

je regarde ça demain

moi j'étais sur un truc comme ça

Sub DoublonsColonneTradi()

Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual

For i = [A65000].End(xlUp).Row To 2 Step -1

If Cells(i, 1) = Cells(i - 1, 1) Then Cells(i, 2) = Cells(i - 1,2)

If Cells(i, 1) = Cells(i - 1, 1) Then Cells(i, 3) = Cells(i - 1, 3)

Next i

Application.Calculation = xlCalculationAutomatic

End Sub

mais çà ne marche pas

et oui il y a un quawk dans ma base

Salut eole, salut ThauThème,

mais cette macro fonctionne à merveille

Sub DoublonsColonneTradi()

Application.ScreenUpdating = False

Application.Calculation = xlCalculationManual

For i = [A65000].End(xlUp).Row To 2 Step -1

If Cells(i, 1) = Cells(i - 1, 1) Then Cells(i, 2) = Cells(i - 1,2)
If Cells(i, 1) = Cells(i - 1, 1) Then Cells(i, 3) = Cells(i - 1, 3)

Next i

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

bonjour

boucle sur doublons a tester

mais HARDOU8 et HARDOU9 peuvent ils être considérés comme doublons?

A plus sur le forum

16base-lot-modif.xlsm (19.67 Ko)

Bonjour le Forum

Bonjour ThauThème, m3ellem1 et papyg

Merci pour votre aide et votre disponibilité

Tout me va, la version de tableau temporaire de ThauThème me permet d'aller un peu plus loin dans la vision VBA merci à toi

Les versions suivantes sont bien également

Je clos le sujet encore merci à vous trois

Rechercher des sujets similaires à "boucle doublon"