Exclure cellules vides - Formules INDEX et ALEA.ENTRE.BORNES

Bonjour à tous,

Je travaille sur une base de données et cherche à réaliser un tirage aléatoire parmi des cellules (valeur texte) sur une sélection en ligne,. Voici la formule que j'ai utilisée:

=INDEX(B2:H2;ALEA.ENTRE.BORNES(1;7))

or certaines cellules de la sélection sont vides, et, sur beaucoup de lignes le tirage me retourne donc la valeur "0" au lieu d'une des valeurs en texte.

Si la ligne contient effectivement une ou plusieurs cellules vides, je voudrai que celles-ci soient exclues du tirage : sauriez-vous m'indiquer comment procéder ?

Pour information je ne maîtrise pas bien les macros ou les formules matricielles :$

Je joins un fichier factice pour illustrer.

Je vous remercie d'avance pour toute aide et vous souhaite une agréable journée !

Bonjour,

Avec une fonction personnalisée, la formule s'écrit:

=Tirage(LIGNE())

Le code de la fonction:

Function Tirage(Lig As Long) As String
    Dim DerCol As Long, N° As Long
    DerCol = Range("A1").End(xlToRight).Column - 1
    Randomize
    If Application.WorksheetFunction.CountA(Range(Cells(Lig, 2), Cells(Lig, DerCol))) <> 0 Then
Tirage:
        N° = Int((DerCol - 2 + 1) * Rnd) + 2
        If Cells(Lig, N°) = "" Then
            GoTo Tirage
        Else
            Tirage = Cells(Lig, N°)
        End If
    End If
End Function

le fichier

Cdlt

Bonjour à tous !

Et.....

Il serait judicieux de préciser, dans votre profil, la nature de votre Excel. Les solutions proposées pouvant en dépendre.

Une contribution en I2 (pour Excel 365) :

=LET(
p;B2:H2;
r;FILTRE(p;p<>"");
SIERREUR(INDEX(r;ALEA.ENTRE.BORNES(1;NBVAL(r)));"")
)

A étirer vers le bas.

@Arturo83 Votre solution fonctionne à merveille, je vous remercie pour votre aide précieuse !

@JFL Merci beaucoup, j'ai ajouté la mention sur mon profil, j'utilise la version 2016, j'imagine donc que votre solution n'y fonctionnera pas...

Merci encore à tous les deux, mon problème est résolu

Bonjour à tous !

Je vous remercie de ce retour.

Je confirme que vous imaginez parfaitement bien.

Cela étant, vous avez une solution opérationnelle. Et c'est l'essentiel.

Rechercher des sujets similaires à "exclure vides formules index alea entre bornes"