Recherche de doublons

Bonjour,

J'aimerais faire la macro suivante :

Selection de 2 feuilles via une combobox
Puis à l'aide de la selection on va se positionner sur la première feuille sur la colonne F et chercher les doublons.
Pour les valeurs avec doublons on fait la somme des lignes des colonnes H,I et J indépendamment.
Pour les valeurs sans doublons on conserve les valeurs des colonnes H,I et J

Ensuite on fait pareil sur la deuxième feuille (qui contient les mêmes codes que la première feuille dans la colonne F mais pas les mêmes valeurs dans H, I et J)

Enfin on soustrait les valeurs des 2 feuilles sur les colonnes H,I et J correspondant aux mêmes codes dans la colonne F.

Voila mon debut de code
Mais à l'execution il ne se passe vraiment rien
Pouvez vous maider !!!!!!!!!!!!!!!!

Private Sub comparaison()
If ComboBox1.Value <> "" And ComboBox2.Value <> "" Then

Worksheets(CStr(Me.ComboBox2)).Activate
Range("F5").Select

Dim Plage As Range
Dim Tableau(), Resultat() As String
Dim k As Integer, j As Integer, m As Integer
Dim Un As Collection
Dim Doublons As String

Set Un = New Collection
'La plage de cellules à tester
Set Plage = Range("F5:F" & Range("A65536").End(xlUp).Row)

Dim comp, comp16
Dim comp1, comp10
Dim comp2, comp11
Dim comp3, comp12
Dim comp4, comp13
Dim comp5, comp14
Dim comp6, comp15

Dim MaCellule As Range, i As Long, msg As String
Dim FirstCell As String, ValeurRecherche As Variant
With ActiveCell
ValeurRecherche = .Value
FirstCell = .Address
End With
If ValeurRecherche = "" Then
msg = "Impossible de faire une recherche a partir d'une cellule vide. "
Else
i = 0
With Worksheets(CStr(Me.ComboBox2))
For Each MaCellule In Plage
If MaCellule.Value = ValeurRecherche And MaCellule.Address <> FirstCell Then

comp = ActiveCell.Offset(0, 8).Value + MaCellule.Offset(0, 8).Value
comp1 = ActiveCell.Offset(0, 9).Value + MaCellule.Offset(0, 9).Value
comp2 = ActiveCell.Offset(0, 10).Value + MaCellule.Offset(0, 10).Value
comp3 = ActiveCell.Offset(0, 11).Value + MaCellule.Offset(0, 11).Value
comp4 = ActiveCell.Offset(0, 12).Value + MaCellule.Offset(0, 12).Value
comp5 = ActiveCell.Offset(0, 13).Value + MaCellule.Offset(0, 13).Value
comp6 = ActiveCell.Offset(0, 14).Value + MaCellule.Offset(0, 14).Value

For j = 5 To 500

Sheets("variations").Range("A& j").Value = MaCellule.Value

ActiveCell.Offset(0, 8).Value = comp
ActiveCell.Offset(0, 9).Value = comp1
ActiveCell.Offset(0, 10).Value = comp2
ActiveCell.Offset(0, 11).Value = comp3
ActiveCell.Offset(0, 12).Value = comp4
ActiveCell.Offset(0, 13).Value = comp5
ActiveCell.Offset(0, 14).Value = comp6

Next

i = i + 1
End If
Next
End With

With Worksheets(CStr(Me.ComboBox1))
For Each MaCellule In Plage

If MaCellule.Value = ValeurRecherche And MaCellule.Address <> FirstCell Then

comp10 = ActiveCell.Offset(0, 8).Value + MaCellule.Offset(0, 8).Value
comp11 = ActiveCell.Offset(0, 9).Value + MaCellule.Offset(0, 9).Value
comp12 = ActiveCell.Offset(0, 10).Value + MaCellule.Offset(0, 10).Value
comp13 = ActiveCell.Offset(0, 11).Value + MaCellule.Offset(0, 11).Value
comp14 = ActiveCell.Offset(0, 12).Value + MaCellule.Offset(0, 12).Value
comp15 = ActiveCell.Offset(0, 13).Value + MaCellule.Offset(0, 13).Value
comp16 = ActiveCell.Offset(0, 14).Value + MaCellule.Offset(0, 14).Value

For j = 5 To 500

Sheets("variations").Range("A& j").Value = MaCellule.Value

ActiveCell.Offset(0, 8).Value = comp - comp10
ActiveCell.Offset(0, 9).Value = comp1 - comp11
ActiveCell.Offset(0, 10).Value = comp2 - comp12
ActiveCell.Offset(0, 11).Value = comp3 - comp13
ActiveCell.Offset(0, 12).Value = comp4 - comp14
ActiveCell.Offset(0, 13).Value = comp5 - comp15
ActiveCell.Offset(0, 14).Value = comp6 - comp16

Next

i = i + 1
End If
Next
End With

End If

End If

Unload comparaison

Sheets("Variations").Select

Merci de votre aide

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Tu as codé ça où ? Et pour agir sur quoi ? Car le problème vient peut-être de là.
    1. Et bien c'est lors du click sur lun bouton de ma combox

      et c'est biensur dans un fichier excel!!

      Aurais tu une idée
  2. Contributeur
    Bonjour, tous les 2

    Les objets des combobox ne sont pas précisés:
    If ComboBox1.Value <> "" And ComboBox2.Value <> "" Then

    écris plutôt par ex:
    Me.ComboBox1.Value ou sheets("tafeuille").ComboBox1.Value

    tel que tu la écris tu sors du "then"

    je ne suis pas allé plus loin dans ton code, donc..
    1. en fait cette partie s'execute bien chez moi
      Mais c'est plutôt les calculs qui ne se font pas!!!

      Alors je suis coincé!!!!