Macro pour trouver la valeur max d'une ligne

Racouet

XLDnaute Nouveau
Bonjour à tous,

J'ai repris une macro qui fonctionnait plus ou moins bien, et je me trouve devant une erreur récurrente sans que je ne puisse comprendre où est le souci.
La macro est extrêmement longue (pour mon niveau) et pour résumer, il s'agit pour la partie me posant souci, de récupérer dans la cellule C2 la valeur maxi de la table. Cette table peut varier en longueur et en largeur. J'ai donc utilisé une boucle sur chaque ligne.
Le bug vient de la ligne suivante :

Sheets("Defect").Range("C2").Offset(i, 0).Value = Application.Max(Worksheets("Defect").Range("D2:zz2l").Offset(i, 0))

Je ne peux vous donner que la partie suivante de la macro. Merci d'être indulgent, je débute.

D = Sheets("Data").Range("D6").Value
t = Sheets("Data").Range("D7").Value
SMYS = Sheets("Data").Range("D8").Value
MOP = Sheets("Data").Range("D9").Value
Sflow = 69 + SMYS
Lng = WorksheetFunction.Count(Worksheets("Defect").Columns(2)) ' Détermine le nombre de d'incréments dans la colonne longueur
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column



maxlng = Application.Max(Sheets("Defect").Columns(2)) 'Détermine valeur max de la longueur
maxdpth = Application.Max(Sheets("Defect").Columns(3)) 'Détermine valeur max de la perte de métal de la série

serie = WorksheetFunction.Count(Worksheets("Defect").Rows(3)) - 2 'Détermine le nombre de colonnes non vides à partirde la colonne C

Sheets("Defect").Unprotect ("pobp7xkn")
For i = 1 To Lng - 1 'Boucle pour renvoyer en colonne 2, le max des génératrices entrées dans les colonnes suivantes en fonction des lignes'
Sheets("Defect").Range("C2").Value = Application.Max(Worksheets("Defect").Range("D2:LastCol+2"))


Sheets("Defect").Range("C2").Offset(i, 0).Value = Application.Max(Worksheets("Defect").Range("D2:zz2").Offset(i, 0))


If Range("B2").Offset(i, 0) = 0 Then
Range("B2").Offset(i, 0) = ""
End If
Next i
Sheets("defect").Protect ("pobp7xkn")
Dpth = WorksheetFunction.Count(Worksheets("Defect").Columns(3)) ' Détermine le nombre d'incrément colonne profondeur

If Lng <> Dpth Then
MsgBox "Attention, le nombre de données entrées en colonne B et en colonne D est différent. Merci de vérifier vos données saisies." & Chr(10) & "Le calcul va être arrêté", 0, "Information", vbInformation, vbOKOnly + vbInformation
Exit Sub
End If
Sheets("Defect").Activate

Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : Macro pour trouver la valeur max d'une ligne

Bonjour,

essaye peut être ceci :
Code:
Range("C2").Value = Application.Max(Range("D2").CurrentRegion)

sans plus de détails, difficile d'en dire plus...

bonne fin d'après midi
 

Racouet

XLDnaute Nouveau
Re : Macro pour trouver la valeur max d'une ligne

Helas, je ne peux donner plus de détail, car c'est pour mon boulot, je bosse pour une société Américaine, et nous n'avons pas le droit de disperser des données il y a déjà eût des licenciements pour ce genre de divulgations. <Merci, je teste.
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 859
Membres
103 978
dernier inscrit
bderradji