Mercredi 19 Janvier 2022
  1 Réponses
  8.8K visites
0
Votes
annuler
Bonjour à tous

Si j'ai nième rangée (très grand nombre). Je veux compter les doublons toutes les 10 cellules. Par exemple

Par exemple, j'ai l'ensemble suivant
2
1
1
1
1
1
1
3
2

J'ai besoin de compter les doublons (en tenant compte du premier doublon), toutes les 3 cellules, c'est-à-dire que la sortie doit être
2
1
3


Aucune suggestion
Merci d'avance. 
il y a des années 2
·
#2441
0
Votes
annuler
Salut mtornado,

Pour supprimer les valeurs dédoublées toutes les 10 cellules, procédez comme suit :

  1. Dans votre feuille de calcul, appuyez sur autre + F11, puis clique insérer > Module;
  2. Copiez le code ci-dessous et collez-le dans la zone du module ;
  3. Presse F5 pour exécuter le code, alors vous verrez un Kutools for Excel boîte de dialogue comme indiqué ci-dessous :
  4.   dialogue.png
  5. Revenez à votre feuille de calcul et sélectionnez la plage. Cliquez ensuite sur le OK bouton de la boîte de dialogue.


Sub RemoveDuplicatesValue_10()

Dim xSltRg, xCells, xRg As Range
Dim xStartRg, xEndRg As Range
Dim xSInt, xCount, xRntInt, xNumInt, xF As Integer
On Error Resume Next

xSInt = 10
Set xSltRg = Application.InputBox("Select range:", "Kutools for Excel", , , , , , 8)
If xSltRg Is Nothing Then Exit Sub
Set xSltRg = Application.Intersect(ActiveSheet.UsedRange, xSltRg)
Set xSltRg = Application.Union(xSltRg, xSltRg.Item(1))
xCount = xSltRg.Count
xNumInt = Int(xCount / xSInt)
xRntInt = 0
xRntInt = xCount Mod xSInt
For xF = 1 To xNumInt
Set xStartRg = xSltRg.Item(((xF - 1) * xSInt + 1))
Set xEndRg = xSltRg.Item(xF * xSInt)
Set xCells = xSltRg.Worksheet.Range(xStartRg.AddressLocal & ":" & xEndRg.AddressLocal)
For xInt = xCells.Count To 1 Step -1
Set xRg = xCells.Item(xInt)
If WorksheetFunction.CountIf(xCells, xRg.Value) > 1 Then
xRg.Value = ""
End If
Next
Next
If xRntInt > 0 Then
Set xStartRg = xSltRg.Item(xNumInt * xSInt + 1)
Set xEndRg = xSltRg.Item(xCount)
Set xCells = xSltRg.Worksheet.Range(xStartRg.AddressLocal & ":" & xEndRg.AddressLocal)
For xInt = xCells.Count To 1 Step -1
Set xRg = xCells.Item(xInt)
If WorksheetFunction.CountIf(xCells, xRg.Value) > 1 Then
xRg.Value = ""
End If
Next
End If

End Sub


Notez que pour supprimer les valeurs en double toutes les N cellules, remplacez le 10 dans le code par N.

Amanda
Pièces jointes (1)
  • Page:
  • 1
Il n'y a pas encore de réponse faites pour ce poste.