Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Premier nombre libre dans une suite de nombre

7 réponses
Avatar
Steph
Bonjour,

Je souhaiterais trouver une macro qui me permettrais de trouver le 1er
nombre libre dans une liste.

Voici un exemple de liste de nombre

9
508
2
501
3
5
504
6
7
1
10
13
502
505


Je souhaiterais en fait trouver 4 données:

1. La valeur 4 qui est le 1er nombre libre dans cette liste
2. La même chose mais pour les valeurs > 500 (donc ici 503 est le 1er
nombre libre sup. à 500)
3. La valeur 14 qui est le plus grand nombre < 500 + 1
4. La valeur 509 qui est le plus grand nombre > 500 + 1

D'avance merci pour vos réponses,

Steph

7 réponses

Avatar
DanielCo
Bonjour,
Les répnses se trouvent dans les variables Q1, Q2, Q3, Q4.
Sub test1()
Dim DerLigne As Long, Plage As Range
Dim Q1 As Integer, Q2 As Integer, Q3 As Integer, Q4 As Integer
DerLigne = Cells(Rows.Count, 1).End(xlUp).Row
Set Plage = Range("A1:A" & DerLigne)
For i = 1 To DerLigne - 1
If Application.Small(Plage, i) + 1 < Application.Small(Plage, i
+ 1) Then
If Q1 = 0 Then Q1 = Application.Small(Plage, i) + 1
End If
If Application.Small(Plage, i) + 1 < Application.Small(Plage, i
+ 1) And _
Application.Small(Plage, i) + 1 > 500 Then
If Q2 = 0 Then Q2 = Application.Small(Plage, i) + 1
End If
If Cells(i, 1).Value < 500 And Cells(i, 1).Value + 1 > Q3 Then
Q3 = Cells(i, 1).Value + 1
End If
If Application.Max(Plage) > 500 Then
Q4 = Application.Max(Plage) + 1
Else
MsgBox "Question 4 : pas de résultat"
End If
Next i
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaiterais trouver une macro qui me permettrais de trouver le 1er nombre
libre dans une liste.

Voici un exemple de liste de nombre

9
508
2
501
3
5
504
6
7
1
10
13
502
505


Je souhaiterais en fait trouver 4 données:

1. La valeur 4 qui est le 1er nombre libre dans cette liste
2. La même chose mais pour les valeurs > 500 (donc ici 503 est le 1er nombre
libre sup. à 500)
3. La valeur 14 qui est le plus grand nombre < 500 + 1
4. La valeur 509 qui est le plus grand nombre > 500 + 1

D'avance merci pour vos réponses,

Steph
Avatar
Steph
Merci beaucoup, cela fonctionne très bien ;-)


"DanielCo" a écrit dans le message de news:
jrpn72$1bn$
Bonjour,
Les répnses se trouvent dans les variables Q1, Q2, Q3, Q4.
Sub test1()
Dim DerLigne As Long, Plage As Range
Dim Q1 As Integer, Q2 As Integer, Q3 As Integer, Q4 As Integer
DerLigne = Cells(Rows.Count, 1).End(xlUp).Row
Set Plage = Range("A1:A" & DerLigne)
For i = 1 To DerLigne - 1
If Application.Small(Plage, i) + 1 < Application.Small(Plage, i +
1) Then
If Q1 = 0 Then Q1 = Application.Small(Plage, i) + 1
End If
If Application.Small(Plage, i) + 1 < Application.Small(Plage, i +
1) And _
Application.Small(Plage, i) + 1 > 500 Then
If Q2 = 0 Then Q2 = Application.Small(Plage, i) + 1
End If
If Cells(i, 1).Value < 500 And Cells(i, 1).Value + 1 > Q3 Then
Q3 = Cells(i, 1).Value + 1
End If
If Application.Max(Plage) > 500 Then
Q4 = Application.Max(Plage) + 1
Else
MsgBox "Question 4 : pas de résultat"
End If
Next i
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaiterais trouver une macro qui me permettrais de trouver le 1er
nombre libre dans une liste.

Voici un exemple de liste de nombre

9
508
2
501
3
5
504
6
7
1
10
13
502
505


Je souhaiterais en fait trouver 4 données:

1. La valeur 4 qui est le 1er nombre libre dans cette liste
2. La même chose mais pour les valeurs > 500 (donc ici 503 est le 1er
nombre libre sup. à 500)
3. La valeur 14 qui est le plus grand nombre < 500 + 1
4. La valeur 509 qui est le plus grand nombre > 500 + 1

D'avance merci pour vos réponses,

Steph




Avatar
MichD
Bonjour,

Qu'est-ce qu'un nombre libre?


Merci.


MichD
---------------------------------------------------------------
Avatar
cyrano
"MichD" a écrit dans le message de news:
jrq89s$g55$

Bonjour,

Qu'est-ce qu'un nombre libre?


Merci.


MichD



+1
Avatar
Jacky
Hello Daniel
??
Application.Small
Nouveauté 2010 ??
--
Salutations
JJ


"DanielCo" a écrit dans le message de news: jrpn72$1bn$
Bonjour,
Les répnses se trouvent dans les variables Q1, Q2, Q3, Q4.
Sub test1()
Dim DerLigne As Long, Plage As Range
Dim Q1 As Integer, Q2 As Integer, Q3 As Integer, Q4 As Integer
DerLigne = Cells(Rows.Count, 1).End(xlUp).Row
Set Plage = Range("A1:A" & DerLigne)
For i = 1 To DerLigne - 1
If Application.Small(Plage, i) + 1 < Application.Small(Plage, i + 1) Then
If Q1 = 0 Then Q1 = Application.Small(Plage, i) + 1
End If
If Application.Small(Plage, i) + 1 < Application.Small(Plage, i + 1) And _
Application.Small(Plage, i) + 1 > 500 Then
If Q2 = 0 Then Q2 = Application.Small(Plage, i) + 1
End If
If Cells(i, 1).Value < 500 And Cells(i, 1).Value + 1 > Q3 Then
Q3 = Cells(i, 1).Value + 1
End If
If Application.Max(Plage) > 500 Then
Q4 = Application.Max(Plage) + 1
Else
MsgBox "Question 4 : pas de résultat"
End If
Next i
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaiterais trouver une macro qui me permettrais de trouver le 1er nombre libre dans une liste.

Voici un exemple de liste de nombre

9
508
2
501
3
5
504
6
7
1
10
13
502
505


Je souhaiterais en fait trouver 4 données:

1. La valeur 4 qui est le 1er nombre libre dans cette liste
2. La même chose mais pour les valeurs > 500 (donc ici 503 est le 1er nombre libre sup. à 500)
3. La valeur 14 qui est le plus grand nombre < 500 + 1
4. La valeur 509 qui est le plus grand nombre > 500 + 1

D'avance merci pour vos réponses,

Steph




Avatar
MichD
Bonjour Jacky,

la fonction petite.valeur te dit quelque chose?

la propriété "WorksheetFunction" n'est pas obligatoire dans :

application.worksheetFunction.small()
On peut écrire directement
application.Small()

et même dans certains cas, la propriété "WorksheetFunction" provoque une
erreur avec la fonction "Match". Pourtant, elle fonctionne très bien
écrite de cette manière : Application.Match()


MichD
---------------------------------------------------------------
Avatar
Jacky
Bonsoir Denis

la fonction petite.valeur te dit quelque chose?



Mais bien sur, suis-je bête !
Je n'avais pas fait la relation, faut dire que je ne l'ai jamais utilisée sous cette forme.
Merci de l'info.

--
Salutations
JJ


"MichD" a écrit dans le message de news: jrqdl5$u2h$
Bonjour Jacky,

la fonction petite.valeur te dit quelque chose?

la propriété "WorksheetFunction" n'est pas obligatoire dans :

application.worksheetFunction.small()
On peut écrire directement
application.Small()

et même dans certains cas, la propriété "WorksheetFunction" provoque une
erreur avec la fonction "Match". Pourtant, elle fonctionne très bien
écrite de cette manière : Application.Match()


MichD
---------------------------------------------------------------