Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Bonsoir à vous tous,
j'aimerais connaitre une formule me permettant de savoir le nombre de suite par rapport à mon tableau que je vous joins,
une formule simple hors VBA, ni macro,
Merci d'avance à vous
C'est tellement simple avec une fonction personnalisée que, même si notre ami n'en veut pas, en voici une :
VB:
Function tata&(r As Range, n&)
Application.Volatile
Dim i&, m&, a#, b#, x&
For i = 2 To r.Count
If IsNumeric(r(i)) And r(i) <> "" Then a = r(i) Else a = 1.79769313486231E+308
If IsNumeric(r(i - 1)) And r(i - 1) <> "" Then b = r(i - 1) Else b = 1.79769313486231E+308
If Abs(a - b) = 1 Then m = m + 1 - (r.Count = i) Else x = x - (m = n - 1): m = 0
Next
tata = x - (m = n)
End Function
Mettre
Code:
=tata($B4:$J4;COLONNE(B:B))
en K4, et recopier à droite et vers le bas.
Mais pourquoi faire simple si on peut faire compliqué ?
Simplement pour dire a ROGER que sa solution est effectivement extremement simple et qu'il ne me faudra qu'environ une quinzaine de jours pour la comprendre
Simplement pour dire a ROGER que sa solution est effectivement extremement simple et qu'il ne me faudra qu'environ une quinzaine de jours pour la comprendre
Vous vous sous-estimez sans doute, mais il est vrai que la solution proposée n'est pas claire ! En fait, je me suis trompé de fonction, en copiant une version de travail. Voici la bonne version (qui donne évidemment les mêmes résultats, sans l'inutile complication m = m + 1 - (r.Count = i) de la précédente-:
VB:
Function titi&(r As Range, n&)
Application.Volatile
Dim i&, m&, a#, b#, x&
For i = 2 To r.Count
If IsNumeric(r(i)) And r(i) <> "" Then a = r(i) Else a = 1.79769313486231E+308
If IsNumeric(r(i - 1)) And r(i - 1) <> "" Then b = r(i - 1) Else b = 1.79769313486231E+308
If Abs(a - b) = 1 Then m = m + 1 Else x = x - (m = n - 1): m = 0
Next
titi = x - (m = n - 1)
End Function
Les quelques commentaires dans le classeur joint devraient vous convaincre de la simplicité de la fonction.
Cordialement,
ROGER2327 #4949
Mercredi 18 Gueules 138 (Nativité de Deibler, prestidigitateur, SQ) 24 Pluviôse An CCXIX 2011-W06-6T02:03:23Z
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.