OVH Cloud OVH Cloud

Calcul dans un classeur fermé

2 réponses
Avatar
David
Bonjour/soir à tous

Données dans un classeur fermé : (à partir de la ligne 2 jusqu'a plus de
12000 lignes) Col A : Nom et Col B : Info

J'aimerais dans un nouveau classeur faire ressortir dans la Col A, (à partir
de A3) l'un en dessous de l'autre, chaque nom sans doublon et trié dans
l'ordre et dans la colonne à coté le nombre de fois qu'il est marqué la
valeur de la cellule A1 pour chaque nom.

Merci de votre aide.

David

2 réponses

Avatar
AV
A adapter

Sub zzzz()
Application.ScreenUpdating = False
[A3:A12000] = "='C:TEMP[NomDuClasseurFermé.xls]Feuil1'!A2"
[A3:A12000] = [A3:A12000].Value: [A2] = "Liste"
[A:A].Insert
With [B2:B12000]
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
.SpecialCells(xlCellTypeVisible).Copy ([A2])
End With
ActiveSheet.ShowAllData
[B:B].Delete
End Sub

Pour la dernière partie de la question "....dans la colonne à coté le nombre de
fois qu'il ...."
il serait souhaitable d'ouvrir le fichier (plus rapide) puis un simple NB.SI
A toi de voir....

AV
Avatar
AV
Le tout sans ouvrir le classeur

Sub zzzz()
Application.ScreenUpdating = False
[A3:A12000] = "='C:TEMP[NomDuClasseurFermé.xls]Feuil1'!A2"
[A3:A12000] = [A3:A12000].Value: [A2] = "Liste"
[A:A].Insert
With [B2:B12000]
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
.SpecialCells(xlCellTypeVisible).Copy ([A2])
End With
ActiveSheet.ShowAllData
[B:B].Insert
derL = [A65536].End(3).Row
Range("A2:A" & derL).Sort Key1:=[A3], Order1:=xlAscending, Header:=xlGuess
Range("B3:B" & derL) = "=countif($C$3:$C$12000,A3)"
Range("B3:B" & derL) = (Range("B3:B" & derL))
[C:C].Delete
End Sub

AV