![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: octobre 2008
Messages: 2
|
Bonjour, je suis débutant en vba excel et je bloque sur un pb assez simple:
je voudrais numéroter dans une colB les cellules identiques en colA exemple: colA colB PARIS 1 OSLO 1 MILAN 1 PARIS 2 PARIS 3 PARIS 4 MILAN 2 PARIS 5 MILAN 3 MILAN 4 PARIS 6 OSLO 2 Je ne peux pas utiliser de tableau dynamique car ma base de données est trop volumineuse (pas assez de colonnes) ps: je n'ai pas trouvé de réponses à mon pb sur ce forum (ni sur d'autres) |
|
|
|
|
|
#4 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: février 2007
Messages: 469
|
bonjour,
Je m ' étais un peu creusé la tête pour un pb qui se résoud avec une formule ![]() Mais bon , au cas où Code :
Option Base 1 Public Cliste_ss_doublon As Collection Sub H() Dim Va As Variant Dim Bville_trouvé As Boolean Dim i As Integer, j As Integer, k As Integer Dim Vlisting As Variant Dim Ws As Worksheet Dim Vposition_ville As Variant Dim tab_recherche() Dim Vadress_fin As Variant Set Ws = Worksheets(1) Set Cliste_ss_doublon = New Collection Vadress_fin = Range("a1").End(xlDown).Offset(0, 1).Address Vlisting = Range("a1:" & Vadress_fin) 'si A1 est la cellule de départ On Error Resume Next For i = 1 To UBound(Vlisting, 1) Cliste_ss_doublon.Add Vlisting(i, 1), CStr(Vlisting(i, 1)) ' création d'une liste vide sans doublon If Err.Number = 0 Then j = j + 1 ReDim Preserve tab_recherche(j) tab_recherche(j) = Vlisting(i, 1) & "pos" & i ' 1er apparition d' une ville sur le listing End If Err.Clear Next On Error GoTo 0 For Each Va In Cliste_ss_doublon i = 0 k = 0 Bville_trouvé = False 'trouve la position de la ville dans le variant dans le but de ne pas boucler sur l 'ensemble du tableau Do While i < UBound(tab_recherche, 1) And Bville_trouvé = False i = i + 1 Vposition_ville = InStr(1, tab_recherche(i), Va) If Vposition_ville > 0 Then Bville_trouvé = True Vposition_ville = Mid(tab_recherche(i), InStr(1, tab_recherche(i), "pos") + 3, Len(tab_recherche(i)) - (InStr(1, tab_recherche(i), "pos") + 2)) End If Loop For j = Vposition_ville To UBound(Vlisting, 1) ' compte le nb d ' occurence "ville" If Va Like Vlisting(j, 1) Then k = k + 1 Vlisting(j, 2) = k End If Next j Next Ws.Range("a1:" & Vadress_fin) = Vlisting End Sub |
|
|
|
|
![]() |
![]() |
||
dénombrement de cellules & condition
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|