comparaison de deux colonnes - VB/VBA/VBS - Programmation
MarshPosté le 09-05-2005 à 14:58:31
Bonjour a tous,
Voici le pb que je rencontre et auquel je n'arrive pas à trouver de solution satisfaisante
Soit un colonne 1 avec des valeurs Soit une colonne 2 avec des valeurs mais dans un autre feuille.(c'est une feuille temporaire)
Comment puis je faire pour comparer ces deux colonnes en partant des principes suivants
- Les valeurs de la colonne 2 ne sont pas forcement identiques a cells de la colonnes 1.
- et donc leurs ordres d'apparition n'a donc pas d'importance
A la fin de mon traitement la colonne 1 devrait se voire rajouter certaines valeurs de la colonne 2 et les valeurs de la colonnes 1 n'ayant pas eu leur équivalent dans la colonnes 2 se verraient attribuer dans la colonne 1+1 la valeurs 0
Jusqu'a présent j'arrive bien a comparer ces 2 colonnes mais je bute serieusement lorsqu'une valeurs de la colonne 2 n'est pa présente dans la col1. Cela decale tout et les traitement statistique que j'essais de faire sont foutus.
Voici un extrait de mon code
Code: If flag = 2 Then Dim val1 As Range Dim val2 As Range Dim i As Integer For i = 2 To Range("A1" ).End(xlDown).Row Set val1 = Sheets("GGM" ).Range("a" & i) Set val2 = Sheets("TEMP" ).Range("a" & i) If val2 = val1 Then Feuil1.Cells(x, y).Value = Feuil2.Cells(xtemp, ytemp + 1) Feuil1.Cells(1, y).Value = MonthName(Month(Now), True) 'Feuil1.Cells(1, y).Font.Size = 11 'Feuil1.Cells(1, y).Font.Bold = True Feuil1.Cells(x, y + 1).Value = (Feuil2.Cells(xtemp, ytemp + 1).Value - Feuil1.Cells(x, y - 3).Value) Feuil1.Cells(1, y + 1).Value = "Delta Previous Month" 'Feuil1.Cells(1, y + 1).Font.Size = 11 'Feuil1.Cells(1, y + 1).Font.Bold = True Feuil1.Cells(x, y + 2).Value = (Feuil1.Cells(x, y + 1).Value + Feuil1.Cells(x, y - 1).Value) Feuil1.Cells(1, y + 2).Value = "cumulated delta" 'Feuil1.Cells(1, y + 2).Font.Size = 11 'Feuil1.Cells(1, y + 2).Font.Bold = True Else End If
Marsh Posté le 09-05-2005 à 14:58:31
Bonjour a tous,
Voici le pb que je rencontre et auquel je n'arrive pas à trouver de solution satisfaisante
Soit un colonne 1 avec des valeurs
Soit une colonne 2 avec des valeurs mais dans un autre feuille.(c'est une feuille temporaire)
Comment puis je faire pour comparer ces deux colonnes en partant des principes suivants
- Les valeurs de la colonne 2 ne sont pas forcement identiques a cells de la colonnes 1.
- et donc leurs ordres d'apparition n'a donc pas d'importance
A la fin de mon traitement la colonne 1 devrait se voire rajouter certaines valeurs de la colonne 2 et les valeurs de la colonnes 1 n'ayant pas eu leur équivalent dans la colonnes 2 se verraient attribuer dans la colonne 1+1 la valeurs 0
Jusqu'a présent j'arrive bien a comparer ces 2 colonnes mais je bute serieusement lorsqu'une valeurs de la colonne 2 n'est pa présente dans la col1. Cela decale tout et les traitement statistique que j'essais de faire sont foutus.
Voici un extrait de mon code
Code:
If flag = 2 Then
Dim val1 As Range
Dim val2 As Range
Dim i As Integer
For i = 2 To Range("A1" ).End(xlDown).Row
Set val1 = Sheets("GGM" ).Range("a" & i)
Set val2 = Sheets("TEMP" ).Range("a" & i)
If val2 = val1 Then
Feuil1.Cells(x, y).Value = Feuil2.Cells(xtemp, ytemp + 1)
Feuil1.Cells(1, y).Value = MonthName(Month(Now), True)
'Feuil1.Cells(1, y).Font.Size = 11
'Feuil1.Cells(1, y).Font.Bold = True
Feuil1.Cells(x, y + 1).Value = (Feuil2.Cells(xtemp, ytemp + 1).Value - Feuil1.Cells(x, y - 3).Value)
Feuil1.Cells(1, y + 1).Value = "Delta Previous Month"
'Feuil1.Cells(1, y + 1).Font.Size = 11
'Feuil1.Cells(1, y + 1).Font.Bold = True
Feuil1.Cells(x, y + 2).Value = (Feuil1.Cells(x, y + 1).Value + Feuil1.Cells(x, y - 1).Value)
Feuil1.Cells(1, y + 2).Value = "cumulated delta"
'Feuil1.Cells(1, y + 2).Font.Size = 11
'Feuil1.Cells(1, y + 2).Font.Bold = True
Else
End If
@+ et GD MERCI PLUM'