Premier nombre libre dans une suite de nombre

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #24575121
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 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
Steph
Le #24575131
Merci beaucoup, cela fonctionne très bien ;-)


"DanielCo" 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 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




MichD
Le #24575761
Bonjour,

Qu'est-ce qu'un nombre libre?


Merci.


MichD
---------------------------------------------------------------
cyrano
Le #24575811
"MichD" jrq89s$g55$

Bonjour,

Qu'est-ce qu'un nombre libre?


Merci.


MichD



+1
Jacky
Le #24575971
Hello Daniel
??
Application.Small
Nouveauté 2010 ??
--
Salutations
JJ


"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 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




MichD
Le #24576061
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
---------------------------------------------------------------
Jacky
Le #24576321
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"
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
---------------------------------------------------------------

Publicité
Poster une réponse
Anonyme