Bonjour,
J'ai une colonne structurée de cette façon:
AR-1
AR-245
AR-25
AR-308
AR-36
Connaissez vous une méthode permettant de récupérer le Max=AR-308 dans une variable pour la mettre dans une boucle?
Merci d'avance.
Bonjour,
J'ai une colonne structurée de cette façon:
AR-1
AR-245
AR-25
AR-308
AR-36
Connaissez vous une méthode permettant de récupérer le Max=AR-308 dans une variable pour la mettre dans une boucle?
Merci d'avance.
Bonjour
regarde la fonction "worksheetfunction.large" appliquée sur un range ou une variable tableau
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Merci pour ton aide mais cela ne marche toujours pas.
Je récupère la valeur "AR-36".
j'ai essayé avec un split() pour ne récupérer que le nombre mais rien.
Bonjour.
Si toutes tes valeurs commencent par 3 caractères à ignorer, c'est facile.
Tu vas devoir faire une procédure :
- tu charges la colonne dans une variable de type variant
- dans cette variable tu remplaces chaque valeur par une extraction à partir du 4 ème car, en utilisant Mid$ dans une boucle.
- tu recherches en suite le max.
Cordialement,
pgz
Je vais tester la méthode puis je reviens vers vous.
Merci beaucoup !
Bonjour,
En supposant que ta plage se trouve en colonne A de la feuille "Feuil1" :
Hervé.
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 Sub Test() Dim Plage As Range Dim Cel As Range Dim Tbl() Dim I As Long With Worksheets("Feuil1") Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)) End With For Each Cel In Plage I = I + 1 ReDim Preserve Tbl(1 To I) Tbl(I) = CLng(Trim(Split(Cel, "-")(1))) Next Cel MsgBox WorksheetFunction.Max(Tbl) End Sub
Bonjour Aetycc,
Patrick, pgz,
Pour moi, tu étais sur la bonne voie avec ton Split(). Patrick te donne la solution avec le WorksheetFunction.Large. Moi, j'utilise WorksheetFunction.Max puisque tu cherches la plus grande valeur.
Tu Split ta valeur sur le "-" que tu places dans un tableau type Tabl_temp en récupérant la seconde variable.
Voici :
J'ai mis mes valeurs sur la colonne A.
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 Option Explicit Sub Aetycc() Dim i As Integer Dim oRng As Range Dim Tabl_max() As Integer Dim Tabl_temp With Worksheets("Feuil1") Set oRng = .Range("A1") For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row - 1 ReDim Preserve Tabl_max(1 To i) Tabl_temp = Split(oRng.Offset(i, 0), "-") Tabl_max(i) = Tabl_temp(UBound(Tabl_temp)) Next i MsgBox WorksheetFunction.Max(Tabl_max()) End With End Sub
N'hésite pas à revenir vers mois !
Cordialement,
Kimy
Partager