Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier
nombre
manquant dans une suite de nombres interrompue: exemple, dans la suite
1234...8
elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier nombre
Une fonction perso ?
Function SUITE_NUM(cel As Range) For i = 1 To Len(cel) If Asc(Mid(cel, i + 1, 1)) <> Asc(Mid(cel, i, 1)) + 1 Then SUITE_NUM = Chr(Asc(Mid(cel, i, 1)) + 1) Exit Function End If Next End Function
AV
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier
nombre
Une fonction perso ?
Function SUITE_NUM(cel As Range)
For i = 1 To Len(cel)
If Asc(Mid(cel, i + 1, 1)) <> Asc(Mid(cel, i, 1)) + 1 Then
SUITE_NUM = Chr(Asc(Mid(cel, i, 1)) + 1)
Exit Function
End If
Next
End Function
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier nombre
Une fonction perso ?
Function SUITE_NUM(cel As Range) For i = 1 To Len(cel) If Asc(Mid(cel, i + 1, 1)) <> Asc(Mid(cel, i, 1)) + 1 Then SUITE_NUM = Chr(Asc(Mid(cel, i, 1)) + 1) Exit Function End If Next End Function
J'ai compris que tu avais un nombre par cellule, donc une plage (mettons A1:A10) de nombres.
Si tes données ne sont pas triées: =MIN(SI(ESTNA(EQUIV(LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10))) ;A1:A10;0));LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))))
Si tes données sont triées de façon ascendante, =MIN(SI(A2:A10<>A1:A9+1;A1:A9+1))
Ce sont 2 matricielles (tu dois les saisir par Ctrl-Maj-Entrée).
Salutations,
Daniel M.
"Xavieer Bodson" wrote in message news:
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier nombre manquant dans une suite de nombres interrompue: exemple, dans la suite 1234...8 elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
Merci d'avance
Xavier Bodson
Hello Xavier,
J'ai compris que tu avais un nombre par cellule, donc une plage (mettons A1:A10)
de nombres.
Si tes données ne sont pas triées:
=MIN(SI(ESTNA(EQUIV(LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))
;A1:A10;0));LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))))
Si tes données sont triées de façon ascendante,
=MIN(SI(A2:A10<>A1:A9+1;A1:A9+1))
Ce sont 2 matricielles (tu dois les saisir par Ctrl-Maj-Entrée).
Salutations,
Daniel M.
"Xavieer Bodson" <albinete@busmail.net> wrote in message
news:OikJGC0yDHA.1660@TK2MSFTNGP09.phx.gbl...
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier
nombre
manquant dans une suite de nombres interrompue: exemple, dans la suite
1234...8
elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
J'ai compris que tu avais un nombre par cellule, donc une plage (mettons A1:A10) de nombres.
Si tes données ne sont pas triées: =MIN(SI(ESTNA(EQUIV(LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10))) ;A1:A10;0));LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))))
Si tes données sont triées de façon ascendante, =MIN(SI(A2:A10<>A1:A9+1;A1:A9+1))
Ce sont 2 matricielles (tu dois les saisir par Ctrl-Maj-Entrée).
Salutations,
Daniel M.
"Xavieer Bodson" wrote in message news:
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier nombre manquant dans une suite de nombres interrompue: exemple, dans la suite 1234...8 elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
Merci d'avance
Xavier Bodson
Xavieer Bodson
"Daniel.M" a écrit dans le message de news: O#
Hello Xavier,
J'ai compris que tu avais un nombre par cellule, donc une plage (mettons A1:A10)
de nombres.
Si tes données ne sont pas triées: =MIN(SI(ESTNA(EQUIV(LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10))) ;A1:A10;0));LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))))
Si tes données sont triées de façon ascendante, =MIN(SI(A2:A10<>A1:A9+1;A1:A9+1))
Ce sont 2 matricielles (tu dois les saisir par Ctrl-Maj-Entrée).
Salutations,
Daniel M.
Merci pour ton aide précieuse: ta formule sembke marcher et tu avais bien
compris ma demande A+
"Xavieer Bodson" wrote in message news:
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier
nombre manquant dans une suite de nombres interrompue: exemple, dans la suite 1234...8 elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
Merci d'avance
Xavier Bodson
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news: O#P1XN7yDHA.3216@TK2MSFTNGP11.phx.gbl...
Hello Xavier,
J'ai compris que tu avais un nombre par cellule, donc une plage (mettons
A1:A10)
de nombres.
Si tes données ne sont pas triées:
=MIN(SI(ESTNA(EQUIV(LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))
;A1:A10;0));LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))))
Si tes données sont triées de façon ascendante,
=MIN(SI(A2:A10<>A1:A9+1;A1:A9+1))
Ce sont 2 matricielles (tu dois les saisir par Ctrl-Maj-Entrée).
Salutations,
Daniel M.
Merci pour ton aide précieuse: ta formule sembke marcher et tu avais bien
compris ma demande
A+
"Xavieer Bodson" <albinete@busmail.net> wrote in message
news:OikJGC0yDHA.1660@TK2MSFTNGP09.phx.gbl...
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du
premier
nombre
manquant dans une suite de nombres interrompue: exemple, dans la suite
1234...8
elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
J'ai compris que tu avais un nombre par cellule, donc une plage (mettons A1:A10)
de nombres.
Si tes données ne sont pas triées: =MIN(SI(ESTNA(EQUIV(LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10))) ;A1:A10;0));LIGNE(INDIRECT(MIN(A1:A10)&":"&MAX(A1:A10)))))
Si tes données sont triées de façon ascendante, =MIN(SI(A2:A10<>A1:A9+1;A1:A9+1))
Ce sont 2 matricielles (tu dois les saisir par Ctrl-Maj-Entrée).
Salutations,
Daniel M.
Merci pour ton aide précieuse: ta formule sembke marcher et tu avais bien
compris ma demande A+
"Xavieer Bodson" wrote in message news:
Exitse-t-il une fonction qui permettrait de renvoyer la valeur du premier
nombre manquant dans une suite de nombres interrompue: exemple, dans la suite 1234...8 elle renverrait 5.
Sinon quelqu'un a t il une idée pour la concevoir ?
Merci d'avance
Xavier Bodson
AV
Suite à demande en bal perso (on aurait aimé que ça se fasse ici .....) Pour éviter le temps de calcul/recalcul rédhibitoire d'une matricielle si la plage est longue Dans un module ordinaire, une fonction perso :
Function MIN_MANQ(plage As Range)'av mini = Application.Small(plage, 1) maxi = Application.Large(plage, 1) For i = 1 To Application.Count(plage) x = Application.Small(plage, i) If x > mini + 1 Then GoTo suite Else mini = x Next suite: If mini = maxi Then MIN_MANQ = "" Else: MIN_MANQ = mini + 1 End If End Function
AV
Suite à demande en bal perso (on aurait aimé que ça se fasse ici .....)
Pour éviter le temps de calcul/recalcul rédhibitoire d'une matricielle si la
plage est longue
Dans un module ordinaire, une fonction perso :
Function MIN_MANQ(plage As Range)'av
mini = Application.Small(plage, 1)
maxi = Application.Large(plage, 1)
For i = 1 To Application.Count(plage)
x = Application.Small(plage, i)
If x > mini + 1 Then GoTo suite Else mini = x
Next
suite:
If mini = maxi Then
MIN_MANQ = ""
Else: MIN_MANQ = mini + 1
End If
End Function
Suite à demande en bal perso (on aurait aimé que ça se fasse ici .....) Pour éviter le temps de calcul/recalcul rédhibitoire d'une matricielle si la plage est longue Dans un module ordinaire, une fonction perso :
Function MIN_MANQ(plage As Range)'av mini = Application.Small(plage, 1) maxi = Application.Large(plage, 1) For i = 1 To Application.Count(plage) x = Application.Small(plage, i) If x > mini + 1 Then GoTo suite Else mini = x Next suite: If mini = maxi Then MIN_MANQ = "" Else: MIN_MANQ = mini + 1 End If End Function
AV
Daniel.M
Salut,
Suite à demande en bal perso (on aurait aimé que ça se fasse ici .....)
Pour appuyer cette idée,
Function MIN_MANQUE(Plg As Range) As Variant ' Daniel M. Dim V As Variant, i As Long