Rechercher : dans
Par :

Comparer et copier valeur de deux feuille

Dernière réponse le 1 jun 2009 à 23:42:24 Mag, le 1 jun 2009 à 17:06:27 
 Signaler ce message aux modérateurs

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);'Feui­l1'!G$15:G$22;))

Mais malheureusement ca marche pas

Merci pour votre retour

Mag

Configuration: Windows XP
Firefox 3.0.10

1

yg_be, le 1 jun 2009 à 19:17:15

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 ?

Répondre à yg_be

2

Mag, le 1 jun 2009 à 19:42:00

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

Répondre à Mag

3

yg_be, le 1 jun 2009 à 20:40:14

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 ?

Répondre à yg_be

4

Mag, le 1 jun 2009 à 21:13:27

Exact, et si elles correspondent copier la valeur ("remise") dans le cellule de meme ligne que la colonne "remise" dans la feuille 2

Répondre à Mag

5

yg_be, le 1 jun 2009 à 23:19:01

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é.

Répondre à yg_be

6

Mag, le 1 jun 2009 à 23:33:08

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

Répondre à Mag

7

 yg_be, le 1 jun 2009 à 23:42:24

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...

Répondre à yg_be