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