Faire apparaitre des nombres manquant d'une liste ?

Le
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 ?

Cyril.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4460941
Salut Cyril
Prenant la colonne A de la feuille 1 à analyser
Le résultat étant afficher dans une boite de dialogue
Je te propose ceci :

For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp))
If c.Value 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

Qu'en dis tu ???
Dis moi

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.


Cyril DUPONT
Le #4460871
J'ai essayé de mettre le code dans worksheet ou thisworkbook mais rien ne se
passe... Je suis novice pourrais tu m'expliquer comment je m'en sers ?

Merci, Cyril.



Salut Cyril
Prenant la colonne A de la feuille 1 à analyser
Le résultat étant afficher dans une boite de dialogue
Je te propose ceci :

For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp))
If c.Value 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


FFO
Le #4460831
Attention Thisworkbook n'est à utiliser que pour l'éxécution de code à
l'ouverture ou à la fermeture du document

Réalise plutôt une nouvelle Macro dans laquelle tu integreras mon code

Dis moi si tu as des difficultés


J'ai essayé de mettre le code dans worksheet ou thisworkbook mais rien ne se
passe... Je suis novice pourrais tu m'expliquer comment je m'en sers ?

Merci, Cyril.



Salut Cyril
Prenant la colonne A de la feuille 1 à analyser
Le résultat étant afficher dans une boite de dialogue
Je te propose ceci :

For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp))
If c.Value 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




FFO
Le #4460821
Procédure pour créer une macro
Simple à mettre en oeuvre :
Création de la Macro :
Outils/Macro/Nouvelle Macro
Nom de la Macro : "Comparaison" par exemple
Puis Ok
Outils/Macro/Macro
Selectionner Comparaison et Modifier
Sous Sub Comparaison()
Faire un Copier/Coller de mon code
Fichier/Enregistrer

Utilisation de la macro :
Outils/Macro/Macro
Selectionner Comparaison et Executer



J'ai essayé de mettre le code dans worksheet ou thisworkbook mais rien ne se
passe... Je suis novice pourrais tu m'expliquer comment je m'en sers ?

Merci, Cyril.



Salut Cyril
Prenant la colonne A de la feuille 1 à analyser
Le résultat étant afficher dans une boite de dialogue
Je te propose ceci :

For Each c In Worksheets("feuil2").Range([A1], [A65535].End(xlUp))
If c.Value 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




Cyril DUPONT
Le #4460631
Nickel ça fonctionne avec toute tes explications ! Malheureusement pour moi
ça fonctionne trop bien ^^
les nombres que j'ai sont compris entre 210000000 et 210003012... et la
macro me dit qu'il manque le 1, le 2, le 3 etc...

Comment faire pour qu'il compte entre ces 2 nombres seulement ?

Cyril.



Procédure pour créer une macro
Simple à mettre en oeuvre :
Création de la Macro :
Outils/Macro/Nouvelle Macro
Nom de la Macro : "Comparaison" par exemple
Puis Ok
Outils/Macro/Macro
Selectionner Comparaison et Modifier
Sous Sub Comparaison()
Faire un Copier/Coller de mon code
Fichier/Enregistrer

Utilisation de la macro :
Outils/Macro/Macro
Selectionner Comparaison et Executer


Cyril DUPONT
Le #4460621
Salut,

Même question a priori que pour FFO, pour ne pas avoir un comptage
commençant par 1,2,3...etc sachant que mes valeurs sont comprises entre
210000000 et 210003012 de la cellule A5à A4607 quelles sont les lignes de
code qu'il faut que je modifie ?

Merci, 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
Le #4460591
En fait nan ça fonctionne pas si bien que ça car j'ai des doublons et j'ai
fait un essai et ils ne sont pas pris en compte. En fait le code prend la
première cellule comme référence A1=5 par exemple. Si A2=7 il va dire qu'il
manque 6. Mais si A2=5 et A3=7 il va dire qu'il manque 6,7,8,9...

C'est compliqué à mettre en place pourtant ça a l'air si simple comme ça !?!

Cyril.



Procédure pour créer une macro
Simple à mettre en oeuvre :
Création de la Macro :
Outils/Macro/Nouvelle Macro
Nom de la Macro : "Comparaison" par exemple
Puis Ok
Outils/Macro/Macro
Selectionner Comparaison et Modifier
Sous Sub Comparaison()
Faire un Copier/Coller de mon code
Fichier/Enregistrer

Utilisation de la macro :
Outils/Macro/Macro
Selectionner Comparaison et Executer


JB
Le #4460431
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 exemp le dans ce
cas précis pour avoir comme "résultats" les 2 nombres manquants qui s ont
210000025 & 210000027 ?

Cyril.


FFO
Le #4484631
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 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 !!!

En fait nan ça fonctionne pas si bien que ça car j'ai des doublons et j'ai
fait un essai et ils ne sont pas pris en compte. En fait le code prend la
première cellule comme référence A1=5 par exemple. Si A2=7 il va dire qu'il
manque 6. Mais si A2=5 et A3=7 il va dire qu'il manque 6,7,8,9...

C'est compliqué à mettre en place pourtant ça a l'air si simple comme ça !?!

Cyril.



Procédure pour créer une macro
Simple à mettre en oeuvre :
Création de la Macro :
Outils/Macro/Nouvelle Macro
Nom de la Macro : "Comparaison" par exemple
Puis Ok
Outils/Macro/Macro
Selectionner Comparaison et Modifier
Sous Sub Comparaison()
Faire un Copier/Coller de mon code
Fichier/Enregistrer

Utilisation de la macro :
Outils/Macro/Macro
Selectionner Comparaison et Executer




FFO
Le #4484591
Je ne comprends pas ce que tu attends de la macro dans ce cas là
Peux tu préciser ???

Merci



Nickel ça fonctionne avec toute tes explications ! Malheureusement pour moi
ça fonctionne trop bien ^^
les nombres que j'ai sont compris entre 210000000 et 210003012... et la
macro me dit qu'il manque le 1, le 2, le 3 etc...

Comment faire pour qu'il compte entre ces 2 nombres seulement ?

Cyril.



Procédure pour créer une macro
Simple à mettre en oeuvre :
Création de la Macro :
Outils/Macro/Nouvelle Macro
Nom de la Macro : "Comparaison" par exemple
Puis Ok
Outils/Macro/Macro
Selectionner Comparaison et Modifier
Sous Sub Comparaison()
Faire un Copier/Coller de mon code
Fichier/Enregistrer

Utilisation de la macro :
Outils/Macro/Macro
Selectionner Comparaison et Executer




Publicité
Poster une réponse
Anonyme