Formule excel
Résolu
abn279
Messages postés
20
Statut
Membre
-
abn279 Messages postés 20 Statut Membre -
abn279 Messages postés 20 Statut Membre -
Bonjour à tous!
En colonne A j'ai des nombres compris entre 001 et 999 .Exemple
584
10
592
401
etc.
Pour savoir les nombres qui manquent je dois trier et compter. Par exemple si 1 est suivi de 4 je saurai que c'est 2 et 3 qui manquent; mais cette démarche ne me semble pas pratique et ça me prend beaucoup de temps. Ainsi est ce que je pourrais avoir en colonne B une formule qui me permet d'afficher les nombres manquant en colonne A?
Cordialement.
En colonne A j'ai des nombres compris entre 001 et 999 .Exemple
584
10
592
401
etc.
Pour savoir les nombres qui manquent je dois trier et compter. Par exemple si 1 est suivi de 4 je saurai que c'est 2 et 3 qui manquent; mais cette démarche ne me semble pas pratique et ça me prend beaucoup de temps. Ainsi est ce que je pourrais avoir en colonne B une formule qui me permet d'afficher les nombres manquant en colonne A?
Cordialement.
A voir également:
- Formule excel
- Formule moyenne excel plusieurs colonnes - Guide
- Formule excel si ou - Guide
- Mise en forme conditionnelle excel formule - Guide
- Formule addition excel - Guide
- Liste déroulante excel - Guide
3 réponses
Bonjour
Les numéros de ta colonne A sont ils toujours regroupés et triés dans l'ordre croissant (ou décroissant) ?
Pourquoi commencer par zéro alors que tu demandes entre 1 et 999 ?
Michel
Les numéros de ta colonne A sont ils toujours regroupés et triés dans l'ordre croissant (ou décroissant) ?
Pourquoi commencer par zéro alors que tu demandes entre 1 et 999 ?
Michel
avec une macro (durée instantanée): sur 30000 lignes ,bonjour par formules, qui + est apparemment matricielles !
ton classeur en retour
http://www.cjoint.com/c/FChjNxLK2oN
Option Explicit
'-----------------------------------
Sub numéros_manquants()
Dim Derlig As Long, T_colA, T_colB, Cpta As Long, Cptb As Integer, Diff As Integer, Inc As Integer
Application.ScreenUpdating = False
Derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
T_colA = Application.Transpose(Range("A2:A" & Derlig))
Range("B2:B1000000").Clear
ReDim T_colB(1 To UBound(T_colA))
For Cpta = 2 To UBound(T_colA)
If T_colA(Cpta) - T_colA(Cpta - 1) > 1 Then
Diff = T_colA(Cpta) - T_colA(Cpta - 1)
For Inc = 1 To Diff - 1
Cptb = Cptb + 1
T_colB(Cptb) = T_colA(Cpta - 1) + Inc
Next
End If
Next
Range("B2").Resize(UBound(T_colB), 1) = Application.Transpose(T_colB)
End Sub
ton classeur en retour
http://www.cjoint.com/c/FChjNxLK2oN
Bonsoir à tous,
de ce que j'ai compris :
si tes données sont en $A$3:$A$1500 (je suppose qu'il y a des répétitions donc).
si en $C$2 tu calcules le nombre de valeurs non trouvées avec la formule
alors, en $B$3 tu saisis :
tu recopies ensuite cette formule jusqu'en $B$1001 (pour le cas où tu aurais 999 valeurs manquantes)
j'ai mis une cellule intermédiaire en $C$2 pour accélérer le calcul.
cordialement
de ce que j'ai compris :
si tes données sont en $A$3:$A$1500 (je suppose qu'il y a des répétitions donc).
si en $C$2 tu calcules le nombre de valeurs non trouvées avec la formule
=999-SOMMEPROD(1/NB.SI($A$3:$A$1500;$A$3:$A$1500))
alors, en $B$3 tu saisis :
=SI(LIGNE()-2<=C$2;PETITE.VALEUR(SI(ESTERREUR(EQUIV(LIGNE($1:$999);$A$3:$A$1500;0));LIGNE($1:$999);9^9);LIGNE()-2);"")que tu valides par CTRL+MAJ+ENTER.
tu recopies ensuite cette formule jusqu'en $B$1001 (pour le cas où tu aurais 999 valeurs manquantes)
j'ai mis une cellule intermédiaire en $C$2 pour accélérer le calcul.
cordialement
Bonsoir à tous!
je pense que je me suis mal exprimé; je vais envoyé fichier Cjoint comme exemple: https://www.cjoint.com/c/FCewVVoJIlM
Voilà !!
je pense que je me suis mal exprimé; je vais envoyé fichier Cjoint comme exemple: https://www.cjoint.com/c/FCewVVoJIlM
Voilà !!
https://www.cjoint.com/c/FCewVVoJIlM