freshyback
Messages postés34Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention16 mars 2008
-
14 mars 2008 à 11:20
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
14 mars 2008 à 22:33
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
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
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 14 mars 2008 à 22:33
Tu peux commencer par changer cette ligne<strike>
Worksheets(CStr(Me.ComboBox2)).Activate</strike>
Worksheets(ComboBox2.Text).Activate
Pour les doublons à additionner, commence par trier ta feuille.
Ensuite, tu crées une boucle qui commence par la fin en remontant et tu vérifies les valeurs qui servent à vérifier les doublons.
Donc si Range("XYZ" & i) = Range("XYZ" & i - 1), tu additionnes les valeurs (H, I, J) sur la ligne i-1 et tu supprimes la ligne i
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI