Probleme doublons sous vba
traersa
-
jjsteing Messages postés 1670 Date d'inscription Statut Contributeur Dernière intervention -
jjsteing Messages postés 1670 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je dispose d'une base de 3000 lignes dans laquelle j'ai un identifiant, mon gros probleme est que avant ma base etait sous excel, je souhaitais donc la passer sous access, mais la probleme mon identifiant n'est pas unique.
Mais je ne veux pas perdre les actions créé sur un identifiant, en réalité à chaque modification ils ont créé une nouvelle ligne au lieu de completer la premiere...
Je ne sais pas si je suis tres clair donc je vais illustrer par un exemple, je pense que ce sera plus simple.
Identifiant Var 1 Var2 Var3 Var4
toto a b c d
dupond d e f g
dupont h i j k
toto l m n o
Donc je pensais trier afin de n'avoir a comparer que la ligne du dessus evidement, mais ce que je voudrais c'est ca
Identifiant Var 1 Var2 Var3 Var4 Var1bis Var2bis Var3bis Var4bis
toto a b c d l m n o
dupond d e f g
dupont h i j k
J'ai deja essayé a plusieurs reprise mais j'avoue que mes connaissance en vba ne sont pas assez poussées, si quelqi'un pouvait m'aider ce serait super
Je dispose d'une base de 3000 lignes dans laquelle j'ai un identifiant, mon gros probleme est que avant ma base etait sous excel, je souhaitais donc la passer sous access, mais la probleme mon identifiant n'est pas unique.
Mais je ne veux pas perdre les actions créé sur un identifiant, en réalité à chaque modification ils ont créé une nouvelle ligne au lieu de completer la premiere...
Je ne sais pas si je suis tres clair donc je vais illustrer par un exemple, je pense que ce sera plus simple.
Identifiant Var 1 Var2 Var3 Var4
toto a b c d
dupond d e f g
dupont h i j k
toto l m n o
Donc je pensais trier afin de n'avoir a comparer que la ligne du dessus evidement, mais ce que je voudrais c'est ca
Identifiant Var 1 Var2 Var3 Var4 Var1bis Var2bis Var3bis Var4bis
toto a b c d l m n o
dupond d e f g
dupont h i j k
J'ai deja essayé a plusieurs reprise mais j'avoue que mes connaissance en vba ne sont pas assez poussées, si quelqi'un pouvait m'aider ce serait super
A voir également:
- Probleme doublons sous vba
- Doublons photos - Guide
- Supprimer les doublons excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Comment supprimer les doublons photos sur pc gratuitement - Télécharger - Nettoyage
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
6 réponses
Oui c'est ca, il faut donc comparer les resulats de la colonne identifiant avec la ligne courante et la ligne courante +1
ok,
For tmp1 = 1 To 20
a = Cells(tmp1, 1)
For tmp2 = 2 To 20
If Cells(tmp2, 1) = a And tmp1 <> tmp2 And Cells(tmp1, 1) <> "" Then
'recherche de la derniere case vide de la source
tmp3 = 2
While Cells(tmp1, tmp3) <> ""
tmp3 = tmp3 + 1
Wend
'copi de toutes les cases de dest => source
tmp4 = 2
While Cells(tmp2, tmp4) <> ""
Cells(tmp1, tmp3) = Cells(tmp2, tmp4)
tmp3 = tmp3 + 1
tmp4 = tmp4 + 1
Wend
Set mc = Worksheets("Feuil1").Cells(tmp2, 1)
Set currentCell = Worksheets("Feuil1").Range(mc.Address())
currentCell.EntireRow.Delete
End If
Next
Next
voili la ptite macro :)
For tmp1 = 1 To 20
a = Cells(tmp1, 1)
For tmp2 = 2 To 20
If Cells(tmp2, 1) = a And tmp1 <> tmp2 And Cells(tmp1, 1) <> "" Then
'recherche de la derniere case vide de la source
tmp3 = 2
While Cells(tmp1, tmp3) <> ""
tmp3 = tmp3 + 1
Wend
'copi de toutes les cases de dest => source
tmp4 = 2
While Cells(tmp2, tmp4) <> ""
Cells(tmp1, tmp3) = Cells(tmp2, tmp4)
tmp3 = tmp3 + 1
tmp4 = tmp4 + 1
Wend
Set mc = Worksheets("Feuil1").Cells(tmp2, 1)
Set currentCell = Worksheets("Feuil1").Range(mc.Address())
currentCell.EntireRow.Delete
End If
Next
Next
voili la ptite macro :)
Bien sur il faut changer
Set currentCell = Worksheets("Feuil1").Range(mc.Address())
par le nom de ta feuille
Set currentCell = Worksheets("Feuil1").Range(mc.Address())
par le nom de ta feuille
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question