DanB34
XLDnaute Nouveau
Bonjour,
Dans une variable tableau, je cherche à récupérer l'adresse d'une cellule contenant en fonction de sa valeur.
Ex. avec les nombres ci-dessous de A1 à D10
Si la somme des col. A + B est > C + D -> récupération de l'adresse (pas sur la feuille Excel, mais dans la var tableau Tb)
Les variables CelTabDep et CelTabArv affichent des résultats bizarres $Z$1 et $AR$1 pour la ligne n° 2 (1ère ligne qui remplit les conditions).
Merci d'avance pour l'aide et le temps passé
Bonne journée
Dan
Dans une variable tableau, je cherche à récupérer l'adresse d'une cellule contenant en fonction de sa valeur.
Ex. avec les nombres ci-dessous de A1 à D10
Si la somme des col. A + B est > C + D -> récupération de l'adresse (pas sur la feuille Excel, mais dans la var tableau Tb)
14 | 29 | 30 | 27 |
26 | 44 | 19 | 11 |
70 | 6 | 90 | 18 |
90 | 62 | 86 | 69 |
50 | 37 | 37 | 61 |
84 | 18 | 42 | 31 |
67 | 53 | 37 | 39 |
74 | 13 | 25 | 65 |
5 | 53 | 84 | 92 |
80 | 65 | 93 | 65 |
VB:
Sub Test_Adresses()
Dim FD, Tb As Variant
Dim CelDep As String, CelArv As String, CelTabDep As String, CelTabArv As String
Dim Cpt As Long, Cpt2 As Long
Dim Calc1 As Integer, Calc2 As Integer
Set FD = Worksheets("Feuil1")
DerLigne = FD.Range("A999999").End(xlUp).Row
CelDep = Range("A1").Address
CelArv = Range("A1:D" & DerLigne).Address
Tb = FD.Range(CelDep & ":" & CelArv)
'Teste si la somme des cellules des colonnes A + B et bien < à la somme des cellules des colonnes C + D
'Si ce n'est pas le cas, récupération de l'adresse - de la var tableau - de la cellule de la Col. A + n° de ligne
'et de l'adresse de la cellule de la col. D + n° de ligne
Cpt = 0
Cpt2 = 0
For I = LBound(Tb, 1) To UBound(Tb, 1)
Calc1 = Tb(I, 1) + Tb(I, 2)
Calc2 = Tb(I, 3) + Tb(I, 4)
If Calc1 > Calc2 Then
Cpt = Cpt + 1
CelTabDep = Cells(Tb(I, 1)).Address
CelTabArv = Cells(Tb(I, 2)).Address
End If
Next
Erase Tb
End Sub
Les variables CelTabDep et CelTabArv affichent des résultats bizarres $Z$1 et $AR$1 pour la ligne n° 2 (1ère ligne qui remplit les conditions).
Merci d'avance pour l'aide et le temps passé
Bonne journée
Dan