Menu

Ligne aléatoire [Résolu]

Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - 7 août 2018 à 22:53 - Dernière réponse : Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention
- 13 août 2018 à 17:29
Bonjour,

J'ai un tableau avec:
- En colonne A de numéros allant de 1 à 220 000.
- En colonne B des 0 et des 1

Et je voudrais que en C1 apparaisse un numéro de la colonne A que si en B il y as un 0.


Merci pour votre aide.



Afficher la suite 

Votre réponse

13 réponses

Raymond PENTIER 46660 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 21 août 2018 Dernière intervention - 8 août 2018 à 00:18
0
Merci
Bonjour.
En C1, saisir la formule =SI(B1=0;A1;"") , et recopier.
Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - 8 août 2018 à 20:17
Désolé j'ai oublié de préciser:
Je voudrais qu’apparaisse en "C1" un numéro aléatoire de la colonne A que si en B il y as un 0
Commenter la réponse de Raymond PENTIER
ccm81 8596 Messages postés lundi 18 octobre 2010Date d'inscription 21 août 2018 Dernière intervention - Modifié par ccm81 le 8/08/2018 à 20:51
0
Merci
Bonjour à tous les deux

formule en A2 (plageA étant la plage A2:Axx)
=SI(B2=0;"";INDEX(plageA;ENT(NB(A:A)*ALEA()+1)))

RQ. il pourra y avoir plusieurs fois le même nombre en colonne C

Cdlmnt
Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - 10 août 2018 à 18:14
Bonjour,

Si je met ta formule en A2, cela me fait une référence circulaire.
Mes plages commence bien en 2eme ligne mais la je ne comprend pas comment je peu faire pour que j'ai un numéro aléatoire de la colonne A (bien sur que si en face, dans la colonne B, il y as un 0).

eriiic 21916 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 21 août 2018 Dernière intervention - 10 août 2018 à 20:07
Bonjour,

met la en C2 puisque en A et B tu as tes données
eric
Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - 10 août 2018 à 20:44
En C2, Cela me met: #NOM?
Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - 10 août 2018 à 20:49
Oups désolé, j'avais fait une faute.
Mais j'ai des Faux positifs:
Des fois il me choisis des numéros avec un 1 en face dans la colonne B
eriiic 21916 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 21 août 2018 Dernière intervention - 10 août 2018 à 23:18
ccm se trompe rarement
Dépose ton fichier avec la formule que tu as mise sur cjoint.com et colle ici le lien fourni.
eric
Commenter la réponse de ccm81
ccm81 8596 Messages postés lundi 18 octobre 2010Date d'inscription 21 août 2018 Dernière intervention - 11 août 2018 à 09:10
0
Merci
Salut eric

ah l'orthographe .....

Et je voudrais que en C1 apparaisse un numéro de la colonne A que si en B il y as un 0.
j'ai interprété il y as un 0 comme il n'y a pas un 0
S'il fallait lire il y a un 0 il faut permuter les deux instructions et la formule devient
=SI(B2=0;INDEX(plageA;ENT(NB(A:A)*ALEA()+1));"")

Bonne journée

Cdlmnt
Commenter la réponse de ccm81
ccm81 8596 Messages postés lundi 18 octobre 2010Date d'inscription 21 août 2018 Dernière intervention - 11 août 2018 à 22:05
0
Merci
Avec une colonne de service on peut obtenir des tirages sans doublon
https://www.cjoint.com/c/HHlueUgna8B

Cdlmnt
Commenter la réponse de ccm81
Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - 12 août 2018 à 22:10
0
Merci
Bonjour,
ccm81 j'ai du mal à comprendre ton tableau dsl. Est-ce possible de ne pas ajouter de colonnes?
Pour être plus compréhensible, voici le fichier: https://www.cjoint.com/c/HHmuf45ZIyO
Merci
Commenter la réponse de Alex_HX8XF
ccm81 8596 Messages postés lundi 18 octobre 2010Date d'inscription 21 août 2018 Dernière intervention - 13 août 2018 à 11:48
0
Merci
Bonjour

formule en C2 à tirer vers le bas
=SI(B2=0;INDEX(A:A;ENT(NB(A:A)*ALEA()+1));"")

Comme dit plus haut, cette formule n'assure pas l'absence de doublons en colonne C.

Cdlmnt
Commenter la réponse de ccm81
Alex_HX8XF 331 Messages postés mercredi 26 février 2014Date d'inscription 15 août 2018 Dernière intervention - Modifié par baladur13 le 13/08/2018 à 17:32
0
Merci
Bien le bonjour tout le monde.

J'ai enfin réussi: (avec un petit VBA)
Donc dans un module j'ai fait un petit bout de code si ça peut aider:

Function NumAlea(R As Range, R2 As Range) As String
Final = R.Rows.Count
colonne = R.Column
colonne2 = R2.Column
i = Round(Application.WorksheetFunction.RandBetween(1, Final))
While Cells(i, colonne2) <> 0
i = Round(Application.WorksheetFunction.RandBetween(1, Final))
Wend
NumAlea = Cells(i, colonne)
End Function


Ensuite en C1 j'ai mis: =NumAlea(A2:A220000;B2:B220000)

Mais merci quand même à tout les 2.
Cdlmnt.

Commenter la réponse de Alex_HX8XF