Bonjour php28, gmb,
tu a écrit :
je fais comment pour le reproduire ?
si ton vrai fichier a l'extension .xlsx tu dois d'abord le convertir en .xlsm ; pour faire cela : ouvre ton classeur .xlsx ; appuie sur la touche F12 ➯ fenêtre « Enregistrer sous » ; juste sous le nom de fichier, choisis dans la liste le Type « Classeur Excel (prenant en charge les macros) » ; clique sur le bouton « Enregistrer » ➯ c'est fait : tu as un classeur .xlsm
Alt F11 ➯ fenêtre « Microsoft Visual Basic »
Alt i m ➯ insertion d'un nouveau module, nommé Module1 ; la page blanche à droite est l'endroit où tu dois copier/coller tout le code VBA de gmb ; tu peux le copier à partir d'ici :
Option Explicit
Dim tablo, dico As Object
Dim i&, nbre$
Sub NombresEnDouble()
tablo = Range("G3:G" & Range("G" & Rows.Count).End(xlUp).Row)
Set dico = CreateObject("Scripting.Dictionary")
nbre$ = ""
For i = 1 To UBound(tablo, 1)
If dico.exists(tablo(i, 1)) Then
nbre = nbre & " ; " & tablo(i, 1)
Else
dico(tablo(i, 1)) = ""
End If
Next i
Range("H13") = Right(nbre, Len(nbre) - 3)
End Sub
(c'est pour t'éviter d'ouvrir 2 classeurs à la fois)
Alt F11 ➯ retour sur Excel
pour exécuter la macro NombresEnDouble(), fais au choix :
* Alt F8 ➯ fenêtre « Macro »
* ajout d'un raccourci clavier (même fenêtre, bouton « Options... »)
* onglet Développeur, ajout d'un bouton ; lui affecter la macro
* insertion d'une forme ; lui affecter la macro
dhany