Bonjour a tous
j'ai besoin de votre aide pour résoudre un problème qui me préoccupe.
voici mon problème:

soit la colonne J d'une feuille de calcul Excel contenant les valeurs suivantes: 1, 7, 12, 17, 20 et une ligne de sous-total dont la valeur est égal a 57.
soit une variable Resultat de type Double et une variable Ligne de type Long représentant les ligne de la feuille de calcul excel.
on se propose de soustraire la variable Resultat dont la valeur est 9 au plus grand élément de la colonne J.
Il faut signaler que mon fichier comporte plusieurs plages semblables a celle décrite plus haut mais de taille différente et separees par 02 lignes entières vides.
ceci n’étant qu'un cas particulier, cela est très évident il suffit de faire l’opération : 20-9. mais si on décide de généraliser, cela devient un peu compliqué a mon sens puisque cela ne marche pas.
voici un bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
Dim Resultat as Double, Ligne as Long, DerniereLigne as Double, MaxColonneJ as Double
Dim O as Worksheets
 
Resultat = 9
Ligne = 3
 
Set O = Worksheets("Feuil5")
DerniereLigne = O.Range("A"&Ligne).Find("*",,,,,XlPrevious).Row
 
For Ligne = 3 To DerniereLigne
 
MaxColonneJ = WorksheetFunction.Max(Range("J"&Ligne))
 
If Range("A"&Ligne)<>"" Then
 
If Range("J"&Ligne)<>"" Then
If Resultat <>"" Then 
If Resultat < MaxColonneJ Then
 
Range("M"&Ligne) = MaxColonneJ - Resultat
 
End If
End If
End If
 
End If
 
Next Ligne