Recherche de doublons

Fermé
danone10 - 14 mars 2008 à 11:41
 danone10 - 14 mars 2008 à 12:13
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

Tu as codé ça où ? Et pour agir sur quoi ? Car le problème vient peut-être de là.
0
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
0
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
14 mars 2008 à 12:03
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..
0
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é!!!!
0