Solution : développer un complément Excel, l'envoyer à mes collègues pour qu'ils puissent corriger les données.
D'abord, on ouvre un nouveau classeur Excel. On Visual Basic en faisait ALT+F11. Il faut créer un nouveau module où l'on va écrire notre fonction. La mienne s'appelle Doublons().
Sub Doublons()
Dim row0 As Integer Dim column As Integer Dim row As Integer column = ActiveCell.column row0 = ActiveCell.row row = row0 + 1 Do While ActiveWorkbook.ActiveSheet.Cells(row, column).Value <> "" If Abs(ActiveWorkbook.ActiveSheet.Cells(row, column).Value - ActiveWorkbook.ActiveSheet.Cells(row - 1, column).Value) < 0.005 Then ActiveWorkbook.ActiveSheet.Cells(row, column).Delete End If row = row + 1 Loop End Sub
La fonction trouve deux valeurs successives dont la différence est inférieure à 0.005 Volt. Elle détruit le doublon. Maintenant, pour exécuter cette commande, j'ai créé un bouton qui s'ouvre avec Excel. Lorsque l'on ouvre un nouveau classeur, si le complément est activé, il suffit d'appuyer sur le bouton qui apparaît pour exécuter la fonction.
Private Sub Workbook_Open()
Dim CmdBar As CommandBar
Dim Bouton As CommandBarButton
Set CmdBar =
Application.CommandBars.Add(Name:=Fredcou2011, Position:=msoBarTop, Temporary:=True)
Set Bouton = CmdBar.Controls.Add(Type:=msoControlButton)
With Bouton
.FaceId = 483
.OnAction = "Doublons"
End With
CmdBar.Visible = True
End Sub
Finalement, il faut enregistrer son classeur sous le format macro complémentaire. Notez que je suis conscient que le bouton ne se détruit pas en fermant Excel. Pour ce que j'avais à faire, ça me suffisait d'avoir un bouton... ou douze!
Publié par : Frédéric Couet
très cool!
RépondreSupprimer