Probleme doublons sous vba
Fermé
traersa
-
28 juil. 2009 à 15:43
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 28 juil. 2009 à 18:41
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 - 28 juil. 2009 à 18:41
A voir également:
- Probleme doublons sous vba
- Doublons photos - Guide
- Supprimer les doublons excel - Guide
- Supprimer les doublons photos gratuit - Télécharger - Nettoyage
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
6 réponses
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 15:51
28 juil. 2009 à 15:51
bonjour
donc tu veux regrouper sur la meme ligne les info de chaque identifiant différent ?
donc tu veux regrouper sur la meme ligne les info de chaque identifiant différent ?
Oui c'est ca, il faut donc comparer les resulats de la colonne identifiant avec la ligne courante et la ligne courante +1
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 16:26
28 juil. 2009 à 16:26
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 :)
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 16:33
28 juil. 2009 à 16:33
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
Merci beaucoup pour ton aide si rapide ca me donne une tres bonne base de travaille, je vais adapter ca pour plusieurs doublons, vraiment merci beaucoup
En fait je viens de voir que ta requete traite deja le cas de plusieurs doublons, tu as donc repondu a tout mon probleme...
merveilleux
merveilleux
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 18:41
28 juil. 2009 à 18:41
ben c'est que j y ai réfléchi un peu ;):p