Comparer et copier valeur de deux feuille

Mag -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je sollicite votre aide pour un soucis de programmation merci d'avance.

Voila mon probleme est le suivant: je dispose de 2 feuilles dans un meme classeur

Feuille 1

Date (colonne C), somme (colonne E) remise (colonne G)

Feuille 2

Date (colonne C), somme (colonne G) remise (colonne I)

Dans le feuille 2 la colonne I est vide, ce que je cherche à faire c’est comparer

Colonne C (feuille1) avec Colonne C (feuille2)
Et

Somme (colonne E, feuille 1) avec somme (colonne G, feuille 2)

Et si ses deux conditions sont vraies (egales, par rapport a une cellule de la feuille 2) en même temps

Copier la valeur de la cellule
remise (colonne Gi, feuille 1) dans la cellule remise (colonne Ij, de la feuille 2)

Exemple

Formule écrite dans la cellule I21 de la feuille 2

=(SI(ET('Feuil1'!C$15:C$64=C21;'Feuil1'!E$15:E$64=G21);'Feuil1'!G$15:G$22;))

Mais malheureusement ca marche pas

Merci pour votre retour

Mag
Configuration: Windows XP
Firefox 3.0.10

7 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Quel est le symptôme, quel est le message d'erreur ?
    Quand tu écris : "ce que je cherche à faire c’est comparer Colonne C (feuille1) avec Colonne C (feuille2)", que veux-tu dire exactement ? Tu veux vérifier que toutes les valeurs dans les lignes correspondantes sont identiques ?
    0
  2. Mag
     
    En fait j'essaye de recuperer a valeur de la remise de la feuille 1 et la copier dans la feuille 2 si la date et la somme sont egale dans les deux feuilles. d'ou la comparaison.
    merci
    0
  3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Tu veux rechercher dans une feuille si il y a, n'importe où, les mêmes valeurs que sur une ligne donnée d'une autre feuille ?
    0
  4. Mag
     
    Exact, et si elles correspondent copier la valeur ("remise") dans le cellule de meme ligne que la colonne "remise" dans la feuille 2
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    Je pense à deux options :
    1° faire un petit programme en VBA, qui ferait le travail. Il pourrait être déclenché par une combinaison de touches, ou par le menu "outils".
    2° chipoter avec des formules, en créant dans chaque feuille une colonne bidon qui reprend la combinaison des deux colonnes à comparer.

    Que préferes-tu ? Je suggère la première option, sauf si tu es allergique au VBA et que tu ne voudras rien faire de plus compliqué.
    0
  7. Mag
     
    je me suis fait un code en VB ( cf plus bas) mais j'ai l'impression que la variable "i" ne s'incremente pas, bref ca marche pas je sais plus quoi faire je suis depité :-)

    Sub Comparaison()

    Dim date1 As Variant
    Dim date2 As Variant

    Dim somme1 As Variant
    Dim somme2 As Variant

    Dim remise1 As Variant
    Dim remise2 As Variant

    Dim i As Byte, j As Byte

    'creation des 2 tableaux
    date1 = Sheets("feuill1").Range("C15:C29") 'feuil1
    date2 = Sheets("feuill2").Range("C10:C25") 'Feuil2

    somme1 = Sheets("feuill1").Range("E15:E29")
    sommes2 = Sheets("feuill2").Range("D10:D25")

    remise1 = Sheets("feuill1").Range("G15:G29")
    remise2 = Sheets("feuill2").Range("F10:F25")

    For i = 1 To UBound(date1)
    For j = 1 To 100 'UBound(date2)

    'si la colonne 1 du date 1 =la colonne 1 du date 2, alors
    If date1(i, 1) = date2(j, 1) Then
    'si la colonne 1 du somme 1 =la colonne 1 du somme 2, alors
    If somme1(i, 1) = somme2(j, 1) Then

    remise2(i, 1).value = remise1(j, 1).value

    End If
    End If
    Next j
    Next i

    ' Touche de raccourci du clavier: Ctrl+l
    '
    End Sub
    0
  8. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    ajoute "option explicit" sur une ligne tout au dessus du module.
    cela te permettra de découvrir qu'une de tes variables est mal orthographiée...
    0