viasd
-
Modifié par NHenry le 25/10/2016 à 18:39
vb95
Messages postés3416Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023
-
25 oct. 2016 à 20:45
Bonjour,
Debutant en vba, je rencontre quelaues problemes.
En effet, je voudrai avoir plusieurs intervalles toutes les 20000000 valeurs qui sont comprise dans la cellule O.
J´ai tout d´abord trier toutes mes cellules par ordre croissant puis utiliser le programme suivant, le probleme etant que je ne rentre jamais dans la boucle.
i = 2
MsgBox i
Do While i <> 50
Intervall1 = Cells(i, 15).Value
Set maplage = Range("O2:O1000")
Intervall2 = Intervall1 * 20000000
resultat = nbapproche(maplage, Intervall2)
On Error Resume Next
Set ctrouvee = maplage.Find(resultat, , xlValues).Select
i = ctrouvee.Row
MsgBox i
Loop
End Sub
Private Function nbapproche(plage As Range, nob As Double) As Double
Dim tabl() As Variant
ReDim retenu(1 To 1) As Double
tabl = plage
nb = 0
For i = 1 To UBound(tabl)
If tabl(i, 1) >= nob Then
nb = nb + 1
ReDim Preserve retenu(1 To nb)
retenu(nb) = tabl(i, 1)
End If
Next
nbapproche = Application.min(retenu)
End Function
EDIT : Ajout des balises de code (la coloration syntaxique). Explications disponibles ici : ICI
vb95
Messages postés3416Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention31 mai 2023165 Modifié par vb95 le 25/10/2016 à 18:31
bonjour
tu es débutant en VBA . tout le monde a débuté un jour
J'ai modifié la section de ton message (VBA n'est pas VB 6)
Je ne suis pas spécialiste en VBA mais c'est pas facile à comprendre ce que tu veux faire ! Commentes tes lignes de code
De plus sers-toi des balises pour présenter ton code ( le sigle <> en haut de ton message te permet d'insérer du code proprement )
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.