Faire apparaitre des nombres manquant d'une liste ?
13 réponses
Cyril DUPONT
Bonjour,
J'ai une feuille excel qui comporte quelques colonnes mais plus de 4500
lignes qui ressemble à ça :
...
210000022
210000023
210000023 R
210000024
210000026
210000028
etc...
Je voudrait pouvoir déceler avec une formule ou un code tous les nombres
manquants sachant qu'ils sont déjà triés... Comment faire par exemple dans ce
cas précis pour avoir comme "résultats" les 2 nombres manquants qui sont
210000025 & 210000027 ?
Je te remercie de ton aide. Je n'ai pas essayer le dernier code que tu m'as envoyé car celui de JB me parait plus simple d'utilisation... Ca liste directement dans une colonne tous les nombre manquant, plutôt que d'avoir 1536 fois à cliquer sur ok ^^ En même temps je ne pensais pas avoir autant de manque... -- Cyril.
A tout problème une solution
Une petite modification de mon code intégrant 2 cellules consécutives égales :
For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp)) If c.Value <> c.Offset(1, 0).Value And c.Value <> c.Offset(1, 0).Value - 1 And c.Address <> Range("A65535").End(xlUp).Address Then n = c.Value + 1 Do While n <> c.Offset(1, 0).Value MsgBox (n & " Manquant") n = n + 1 Loop End If Next
Ca marche t'y pas mieux ???? Dis moi !!!
Je te remercie de ton aide.
Je n'ai pas essayer le dernier code que tu m'as envoyé car celui de JB me
parait plus simple d'utilisation...
Ca liste directement dans une colonne tous les nombre manquant, plutôt que
d'avoir 1536 fois à cliquer sur ok ^^
En même temps je ne pensais pas avoir autant de manque...
--
Cyril.
A tout problème une solution
Une petite modification de mon code intégrant 2 cellules consécutives égales :
For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp))
If c.Value <> c.Offset(1, 0).Value And c.Value <> c.Offset(1, 0).Value - 1
And c.Address <> Range("A65535").End(xlUp).Address Then
n = c.Value + 1
Do While n <> c.Offset(1, 0).Value
MsgBox (n & " Manquant")
n = n + 1
Loop
End If
Next
Je te remercie de ton aide. Je n'ai pas essayer le dernier code que tu m'as envoyé car celui de JB me parait plus simple d'utilisation... Ca liste directement dans une colonne tous les nombre manquant, plutôt que d'avoir 1536 fois à cliquer sur ok ^^ En même temps je ne pensais pas avoir autant de manque... -- Cyril.
A tout problème une solution
Une petite modification de mon code intégrant 2 cellules consécutives égales :
For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp)) If c.Value <> c.Offset(1, 0).Value And c.Value <> c.Offset(1, 0).Value - 1 And c.Address <> Range("A65535").End(xlUp).Address Then n = c.Value + 1 Do While n <> c.Offset(1, 0).Value MsgBox (n & " Manquant") n = n + 1 Loop End If Next
Ca marche t'y pas mieux ???? Dis moi !!!
Cyril DUPONT
Je te répond la même chose qu'à FFO :
Je te remercie de ton aide. Je n'ai pas essayer le dernier code que tu m'as envoyé car celui de JB me parait plus simple d'utilisation... Ca liste directement dans une colonne tous les nombre manquant, plutôt que d'avoir 1536 fois à cliquer sur ok ^^ En même temps je ne pensais pas avoir autant de manque... -- Cyril.
Bonjour,
Sub essai() p = 1 fin = [A65000].End(xlUp) n = Val([A1]) i = 1 Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End Sub
Sub essai() p = 1 fin = [A65000].End(xlUp) n = Val([A1]) i = 1 Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End SubSub essai() p = 1 fin = [A65000].End(xlUp) n = Val([A1]) i = 1 Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End Sub
Je te répond la même chose qu'à FFO :
Je te remercie de ton aide.
Je n'ai pas essayer le dernier code que tu m'as envoyé car celui de JB me
parait plus simple d'utilisation...
Ca liste directement dans une colonne tous les nombre manquant, plutôt que
d'avoir 1536 fois à cliquer sur ok ^^
En même temps je ne pensais pas avoir autant de manque...
--
Cyril.
Bonjour,
Sub essai()
p = 1
fin = [A65000].End(xlUp)
n = Val([A1])
i = 1
Do While n < fin
If n <> Val(Cells(i, 1)) Then
Cells(p, 4) = n
p = p + 1
n = n + 1
Else
i = i + 1
If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1
End If
Loop
End Sub
Sub essai()
p = 1
fin = [A65000].End(xlUp)
n = Val([A1])
i = 1
Do While n < fin
If n <> Val(Cells(i, 1)) Then
Cells(p, 4) = n
p = p + 1
n = n + 1
Else
i = i + 1
If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1
End If
Loop
End SubSub essai()
p = 1
fin = [A65000].End(xlUp)
n = Val([A1])
i = 1
Do While n < fin
If n <> Val(Cells(i, 1)) Then
Cells(p, 4) = n
p = p + 1
n = n + 1
Else
i = i + 1
If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1
End If
Loop
End Sub
Je te remercie de ton aide. Je n'ai pas essayer le dernier code que tu m'as envoyé car celui de JB me parait plus simple d'utilisation... Ca liste directement dans une colonne tous les nombre manquant, plutôt que d'avoir 1536 fois à cliquer sur ok ^^ En même temps je ne pensais pas avoir autant de manque... -- Cyril.
Bonjour,
Sub essai() p = 1 fin = [A65000].End(xlUp) n = Val([A1]) i = 1 Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End Sub
Sub essai() p = 1 fin = [A65000].End(xlUp) n = Val([A1]) i = 1 Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End SubSub essai() p = 1 fin = [A65000].End(xlUp) n = Val([A1]) i = 1 Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End Sub
Cyril DUPONT
Merci beaucoup JB ça marche super bien surtout que j'avais plus de 1500 nombres manquants alors sans ton code j'en aurais eu pour quelques temps à fermer toutes les msgbox...
Cyril.
Bonjour,
Extrait les nos manquants
Sub essai() p = 1 i = 5 ' ligne début fin = Val([A65000].End(xlUp)) n = Val(Cells(i, 1)) Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End Sub
http://cjoint.com/?eApYUFNhDB
JB
On 26 avr, 09:58, Cyril DUPONT wrote:
Bonjour,
J'ai une feuille excel qui comporte quelques colonnes mais plus de 4500 lignes qui ressemble à ça : ... 210000022 210000023 210000023 R 210000024 210000026 210000028 etc...
Je voudrait pouvoir déceler avec une formule ou un code tous les nombres manquants sachant qu'ils sont déjà triés... Comment faire par exemple dans ce cas précis pour avoir comme "résultats" les 2 nombres manquants qui sont 210000025 & 210000027 ?
Cyril.
Merci beaucoup JB ça marche super bien surtout que j'avais plus de 1500
nombres manquants alors sans ton code j'en aurais eu pour quelques temps à
fermer toutes les msgbox...
Cyril.
Bonjour,
Extrait les nos manquants
Sub essai()
p = 1
i = 5 ' ligne début
fin = Val([A65000].End(xlUp))
n = Val(Cells(i, 1))
Do While n < fin
If n <> Val(Cells(i, 1)) Then
Cells(p, 4) = n
p = p + 1
n = n + 1
Else
i = i + 1
If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1
End If
Loop
End Sub
http://cjoint.com/?eApYUFNhDB
JB
On 26 avr, 09:58, Cyril DUPONT <CyrilDUP...@discussions.microsoft.com>
wrote:
Bonjour,
J'ai une feuille excel qui comporte quelques colonnes mais plus de 4500
lignes qui ressemble à ça :
...
210000022
210000023
210000023 R
210000024
210000026
210000028
etc...
Je voudrait pouvoir déceler avec une formule ou un code tous les nombres
manquants sachant qu'ils sont déjà triés... Comment faire par exemple dans ce
cas précis pour avoir comme "résultats" les 2 nombres manquants qui sont
210000025 & 210000027 ?
Merci beaucoup JB ça marche super bien surtout que j'avais plus de 1500 nombres manquants alors sans ton code j'en aurais eu pour quelques temps à fermer toutes les msgbox...
Cyril.
Bonjour,
Extrait les nos manquants
Sub essai() p = 1 i = 5 ' ligne début fin = Val([A65000].End(xlUp)) n = Val(Cells(i, 1)) Do While n < fin If n <> Val(Cells(i, 1)) Then Cells(p, 4) = n p = p + 1 n = n + 1 Else i = i + 1 If Val(Cells(i, 1)) <> Val(Cells(i - 1, 1)) Then n = n + 1 End If Loop End Sub
http://cjoint.com/?eApYUFNhDB
JB
On 26 avr, 09:58, Cyril DUPONT wrote:
Bonjour,
J'ai une feuille excel qui comporte quelques colonnes mais plus de 4500 lignes qui ressemble à ça : ... 210000022 210000023 210000023 R 210000024 210000026 210000028 etc...
Je voudrait pouvoir déceler avec une formule ou un code tous les nombres manquants sachant qu'ils sont déjà triés... Comment faire par exemple dans ce cas précis pour avoir comme "résultats" les 2 nombres manquants qui sont 210000025 & 210000027 ?