Fonction aléatoire sur excel
Résolu
milsabor
-
pampam1983 -
pampam1983 -
Bonjour
j'aimerais savoir si, sur excel 97, il existe une fonction permettant de choisir une cellule au hasard parmi une liste prédéfinie, car je n'en trouve pas.
merci beaucoup de pouvoir m'aider
j'aimerais savoir si, sur excel 97, il existe une fonction permettant de choisir une cellule au hasard parmi une liste prédéfinie, car je n'en trouve pas.
merci beaucoup de pouvoir m'aider
A voir également:
- Sélection aléatoire excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
67 réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
Cette macro n'augmente la taille que de quelques caractères seulement,
et donc ne peut pas saturer le disque, sauf erreur de boucle.
Avant de rajouter le nom de cellule as-tu sauvé ton fichier ?
Cette macro n'augmente la taille que de quelques caractères seulement,
et donc ne peut pas saturer le disque, sauf erreur de boucle.
Avant de rajouter le nom de cellule as-tu sauvé ton fichier ?
bonjour
Cette macro n'augmente la taille que de quelques caractères seulement,
et donc ne peut pas saturer le disque, sauf erreur de boucle.
Avant de rajouter le nom de cellule as-tu sauvé ton fichier ?
Cette macro n'augmente la taille que de quelques caractères seulement,
et donc ne peut pas saturer le disque, sauf erreur de boucle.
Avant de rajouter le nom de cellule as-tu sauvé ton fichier ?
bonjour
tu me dis :
maintenant j'ai une autre erreur qui est : espace file insufisant
puis maintenant :
toujour l'erreur pile insuffisant
ce qui n'est pas du tout pareil
et avec des réponses laconiques c'est impossible de progresser,
car en informatique la précision est de rigueur.
tu me dis :
maintenant j'ai une autre erreur qui est : espace file insufisant
puis maintenant :
toujour l'erreur pile insuffisant
ce qui n'est pas du tout pareil
et avec des réponses laconiques c'est impossible de progresser,
car en informatique la précision est de rigueur.
Bonjour!
J’ai 2 problèmes sur Excel et je voudrais bien de l'aide.
Existe t-il une fonction qui puisse afficher 1 question automatiquement dès que l'on rentre un enregistrement?
Existe t-il une fonction pour afficher dans 1 cellule la date de sauve garde du fichier?
Merci de m'aider
J’ai 2 problèmes sur Excel et je voudrais bien de l'aide.
Existe t-il une fonction qui puisse afficher 1 question automatiquement dès que l'on rentre un enregistrement?
Existe t-il une fonction pour afficher dans 1 cellule la date de sauve garde du fichier?
Merci de m'aider
bonjour
Existe t-il une fonction pour afficher dans 1 cellule la date de sauve garde du fichier?
tu regades la réponse 68 au-dessus.
Existe t-il une fonction qui puisse afficher 1 question automatiquement dès que l'on rentre un enregistrement?
tu peux avoir une vérification avec : menu outils/données/validation
mais pour une question, il faut mettre une macro.
si tu précise ta question (ligne, colonne,etc.), je te la proposerai
Existe t-il une fonction pour afficher dans 1 cellule la date de sauve garde du fichier?
tu regades la réponse 68 au-dessus.
Existe t-il une fonction qui puisse afficher 1 question automatiquement dès que l'on rentre un enregistrement?
tu peux avoir une vérification avec : menu outils/données/validation
mais pour une question, il faut mettre une macro.
si tu précise ta question (ligne, colonne,etc.), je te la proposerai
j'ai regardé mais le problème c'est que j'ai une erreur sui me dit : pile insuffisant
Tu sais d'ou ca peut venir?
Tu sais d'ou ca peut venir?
Je reviens sur une des première proposition de Gbinforme qui avait été faite et que je n'arrivais pas à reproduire concernant un tirage aléatoire de ligne avec copie des lignes tirées dans une autre feuille.
La précision que je souhaitais apporter est que votre première colonne doit etre composée de numéros tous différents.
ex : mettre en première colonne une numérotation de 1 à 50 (si vous avez 50 lignes)
Rappel de la macro concernée (et qui marche !!!) MERCI Gbinforme !
Sub sélection()
Dim nbr_sel, nbr_elm, nbr_col, choix, pos, lig, i
Dim inf_feu, inf_lig, inf_col
Dim res_feu, res_lig, res_col
nbr_sel = 100 ' le nombre de lignes à réviser
nbr_col = 2 ' le nombre de colonnes à recopier
inf_lig = 1 ' les données sont en ligne inf_lig
inf_col = 1 ' les données sont en colonne inf_col
inf_feu = "données" ' les données sont sur la feuille inf_feu
res_lig = 1 ' le résultat est en ligne res_lig
res_col = 1 ' le résultat est en colonne res_col
res_feu = "resu" ' le résultat est sur la feuille res_feu
' récupération du nombre de lignes de données
nbr_elm = Worksheets(inf_feu).Cells(inf_lig, inf_col).End(xlDown).Rows
' suppression précédente sélection
Worksheets(res_feu).Cells(res_lig, res_col).CurrentRegion.ClearContents
For lig = 0 To nbr_sel - 1
Do
choix = Int(Rnd(1) * nbr_elm) + 1
For i = 0 To lig ' test doubles
If Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value _
= Worksheets(inf_feu).Cells(inf_lig, inf_col).Offset(choix - 1).Value _
Then
Exit For
End If
Next i
Loop Until Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value = ""
' copie des données sélectionnées
Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Formula = "=" & inf_feu & "!R" & choix & "C"
Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Resize(1, nbr_col).FillRight
Next lig
End Sub
La précision que je souhaitais apporter est que votre première colonne doit etre composée de numéros tous différents.
ex : mettre en première colonne une numérotation de 1 à 50 (si vous avez 50 lignes)
Rappel de la macro concernée (et qui marche !!!) MERCI Gbinforme !
Sub sélection()
Dim nbr_sel, nbr_elm, nbr_col, choix, pos, lig, i
Dim inf_feu, inf_lig, inf_col
Dim res_feu, res_lig, res_col
nbr_sel = 100 ' le nombre de lignes à réviser
nbr_col = 2 ' le nombre de colonnes à recopier
inf_lig = 1 ' les données sont en ligne inf_lig
inf_col = 1 ' les données sont en colonne inf_col
inf_feu = "données" ' les données sont sur la feuille inf_feu
res_lig = 1 ' le résultat est en ligne res_lig
res_col = 1 ' le résultat est en colonne res_col
res_feu = "resu" ' le résultat est sur la feuille res_feu
' récupération du nombre de lignes de données
nbr_elm = Worksheets(inf_feu).Cells(inf_lig, inf_col).End(xlDown).Rows
' suppression précédente sélection
Worksheets(res_feu).Cells(res_lig, res_col).CurrentRegion.ClearContents
For lig = 0 To nbr_sel - 1
Do
choix = Int(Rnd(1) * nbr_elm) + 1
For i = 0 To lig ' test doubles
If Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value _
= Worksheets(inf_feu).Cells(inf_lig, inf_col).Offset(choix - 1).Value _
Then
Exit For
End If
Next i
Loop Until Worksheets(res_feu).Cells(res_lig, res_col).Offset(i).Value = ""
' copie des données sélectionnées
Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Formula = "=" & inf_feu & "!R" & choix & "C"
Worksheets(res_feu).Cells(res_lig, res_col).Offset(lig).Resize(1, nbr_col).FillRight
Next lig
End Sub
bonjour
Rappel de la macro concernée (et qui marche !!!) MERCI Gbinforme !
merci, c'est sympa !
La précision que je souhaitais apporter est que votre première colonne doit etre composée de numéros tous différents.
ex : mettre en première colonne une numérotation de 1 à 50 (si vous avez 50 lignes)
comme la macro était destinée à la révision de mots anglais ils sont par nature tous différents. Si ce n'est pas le cas, il faut modifier le contrôle des doubles, en analysant l'ensemble de la ligne ou en décalant la colonne testée, selon la nature du fichier.
Rappel de la macro concernée (et qui marche !!!) MERCI Gbinforme !
merci, c'est sympa !
La précision que je souhaitais apporter est que votre première colonne doit etre composée de numéros tous différents.
ex : mettre en première colonne une numérotation de 1 à 50 (si vous avez 50 lignes)
comme la macro était destinée à la révision de mots anglais ils sont par nature tous différents. Si ce n'est pas le cas, il faut modifier le contrôle des doubles, en analysant l'ensemble de la ligne ou en décalant la colonne testée, selon la nature du fichier.
Bonsoir,
Très intéressée par votre programme pour la révision des mots en anglais, je souhaiterais l'adapter pour un autre exercice, chercher le singulier ou le pluriel d'un mot.
C'est la même chose en fait sauf qu'au lieu de deux colonnes français et anglais, j'ai deux colonnes singulier et pluriel.
J'ai modifié le nom des variables pour m'y retrouver ainsi que le texte des questions et des différents messages.
Mais il me reste deux choses que je souhaiterais changer et là je bloque :
- je ne souhaite pas que le mot à écrire (anciennement motATraduire) apparaisse en majuscules au niveau de la question posée mais en minuscules
- je souhaiterais changer ce qu'il y a d'écrit dans les cases de contrôles (Nom colonne français, Nom colonne anglais, ...), où puis-je le faire ?
Merci d'avance pour vos éclaircissements et bravo à gbinforme pour ce fabuleux programme !
Très intéressée par votre programme pour la révision des mots en anglais, je souhaiterais l'adapter pour un autre exercice, chercher le singulier ou le pluriel d'un mot.
C'est la même chose en fait sauf qu'au lieu de deux colonnes français et anglais, j'ai deux colonnes singulier et pluriel.
J'ai modifié le nom des variables pour m'y retrouver ainsi que le texte des questions et des différents messages.
Mais il me reste deux choses que je souhaiterais changer et là je bloque :
- je ne souhaite pas que le mot à écrire (anciennement motATraduire) apparaisse en majuscules au niveau de la question posée mais en minuscules
- je souhaiterais changer ce qu'il y a d'écrit dans les cases de contrôles (Nom colonne français, Nom colonne anglais, ...), où puis-je le faire ?
Merci d'avance pour vos éclaircissements et bravo à gbinforme pour ce fabuleux programme !
Hmmm...ce petit programme est de MOI!!! lol
Mais je ne suis pas rancunier et gbinforme aurait certainement réussi à en faire un semblable, donc peu importe.
Pour accéder aux contrôles, il faut passer en "mode création". Pour y arriver:
- clic droit dans la barre d'outils et activer la barre "Visual Basic"
- clic sur la petite équerre avec le crayon pour activer le "mode création"
- clic droit sur le contrôle à modifier, et "Propriétés"
- Là il suffit alors de modifier le champ "Caption"
Pour l'histoire des majuscules, il faut afficher le code source (il y a une icône "Visualiser le code" avec une petite loupe dans la barre "Visual Basic"). Dans le code, il suffit normalement de supprimer tous les "UCase(...)"
ex:
motATraduire = UCase(ActiveSheet.Cells(ligne, Me.TextBox3.Value).Text)
deviendra:
motATraduire = ActiveSheet.Cells(ligne, Me.TextBox3.Value).Text
Mais en enlevant cela, les réponses seront soumises à une casse rigoureusement exacte!
@+! Samy
Mais je ne suis pas rancunier et gbinforme aurait certainement réussi à en faire un semblable, donc peu importe.
Pour accéder aux contrôles, il faut passer en "mode création". Pour y arriver:
- clic droit dans la barre d'outils et activer la barre "Visual Basic"
- clic sur la petite équerre avec le crayon pour activer le "mode création"
- clic droit sur le contrôle à modifier, et "Propriétés"
- Là il suffit alors de modifier le champ "Caption"
Pour l'histoire des majuscules, il faut afficher le code source (il y a une icône "Visualiser le code" avec une petite loupe dans la barre "Visual Basic"). Dans le code, il suffit normalement de supprimer tous les "UCase(...)"
ex:
motATraduire = UCase(ActiveSheet.Cells(ligne, Me.TextBox3.Value).Text)
deviendra:
motATraduire = ActiveSheet.Cells(ligne, Me.TextBox3.Value).Text
Mais en enlevant cela, les réponses seront soumises à une casse rigoureusement exacte!
@+! Samy
Bonjour!
J'aurais besoin de votre aide précieuse pour mon boulot, voici mon problème:
J'ai une liste de parcelles sous excel avec différentes informations les concernant sur la même ligne dont le nom du propriétaire. Ce que j'aimerais avoir c'est une liste de parcelles tirées au hasard à raison d'une seule par propriétaire. Est-ce faisable? Sachant que le nombre de parcelles par proprétaires est variable (1 à 30 environ).
Je sais pas si c'est très clair... J'ai vraiment du mal avec VB, pour l'instant, j'ai utilisé le programme de goldenboy68, qui est super d'ailleurs, mais je me retrouve avec plusieurs parcelles du même gars!
Merci d'avance pour votre aide!
@+
Laurie
J'aurais besoin de votre aide précieuse pour mon boulot, voici mon problème:
J'ai une liste de parcelles sous excel avec différentes informations les concernant sur la même ligne dont le nom du propriétaire. Ce que j'aimerais avoir c'est une liste de parcelles tirées au hasard à raison d'une seule par propriétaire. Est-ce faisable? Sachant que le nombre de parcelles par proprétaires est variable (1 à 30 environ).
Je sais pas si c'est très clair... J'ai vraiment du mal avec VB, pour l'instant, j'ai utilisé le programme de goldenboy68, qui est super d'ailleurs, mais je me retrouve avec plusieurs parcelles du même gars!
Merci d'avance pour votre aide!
@+
Laurie
Tout est possible bien sûr...il suffira d'adapter mon bout de code par exemple, mais il faudrait préciser ce que tu veux afficher à la fin.
1 seule parcelle par propriétaire, ok mais est-ce qu'il faut absolument en afficher une de tous les propriétaires présents dans la liste? Faut-il en tirer au sort un certain nombre? Comment veux-tu que ça s'affiche (tri de la liste avec en premier les parcelles sélectionnées, changement de couleur de fond des parcelles sélectionnées, autre...)?
Voilà je pense l'essentiel de ce qu'il faudrait pour pouvoir te faire qqch.
@+! Samy
1 seule parcelle par propriétaire, ok mais est-ce qu'il faut absolument en afficher une de tous les propriétaires présents dans la liste? Faut-il en tirer au sort un certain nombre? Comment veux-tu que ça s'affiche (tri de la liste avec en premier les parcelles sélectionnées, changement de couleur de fond des parcelles sélectionnées, autre...)?
Voilà je pense l'essentiel de ce qu'il faudrait pour pouvoir te faire qqch.
@+! Samy
Merci de répondre si vite, c'est super!
Ben en fait il me faut obligatoirement une seule parcelle par proprio. Le truc c'est que par zone agricole, j'ai une liste de parcelles avec leur propriétaire. Sur le terrain, il faut se rendre sur 1 parcelle de chaque gars. Comme il faut qu'elle soit à chaque fois prise au hasard, je me disais qu'avec une macro...
Donc au final, j'aimerais qu'une macro choisisse une parcelle par propriétaire dans la grande liste. Le nombre de parcelles tirées au sort dépend donc du nombre de gars différents (nb proprio = nb de parcelles tirées au sort). Après, au niveau affichage, faut voir ce qui est le plus facile à faire, je n'ai pas d'exigence à ce niveau!
En tout cas merci!
@+
Laurie
Ben en fait il me faut obligatoirement une seule parcelle par proprio. Le truc c'est que par zone agricole, j'ai une liste de parcelles avec leur propriétaire. Sur le terrain, il faut se rendre sur 1 parcelle de chaque gars. Comme il faut qu'elle soit à chaque fois prise au hasard, je me disais qu'avec une macro...
Donc au final, j'aimerais qu'une macro choisisse une parcelle par propriétaire dans la grande liste. Le nombre de parcelles tirées au sort dépend donc du nombre de gars différents (nb proprio = nb de parcelles tirées au sort). Après, au niveau affichage, faut voir ce qui est le plus facile à faire, je n'ai pas d'exigence à ce niveau!
En tout cas merci!
@+
Laurie
Bonjour, j'ai parcourue la grande majorité de ce poste et essayé de trouver une solution a mon problème. Mais j'ai pas réussie et j'apprécierais grandement votre aide :)
Voilà , ce que je tente de faire c'est ceci : j'ai une liste de 30 mot (a5:a34) et j'aimerais avoir une deuxième colonne admettons en c (c5 a c30) ou l'ordre de c'est mot serait choisie aléatoirement
Plusieurs Tirage au sort doivent être effectuer durant une année et aucun mot ne doit revenir deux fois.
En passant , je suis pris avec une version de excel anglaise :s
Merci à l'avance :)
Voilà , ce que je tente de faire c'est ceci : j'ai une liste de 30 mot (a5:a34) et j'aimerais avoir une deuxième colonne admettons en c (c5 a c30) ou l'ordre de c'est mot serait choisie aléatoirement
Plusieurs Tirage au sort doivent être effectuer durant une année et aucun mot ne doit revenir deux fois.
En passant , je suis pris avec une version de excel anglaise :s
Merci à l'avance :)
Tu n'as peut-être pas vu mon fichier sur le tirage de densités. Tu as bcp plus de données au départ, mais sur la base de ce fichier, c'est pas trop compliqué. Y'aurait sans doute quelque chose de plus adapté à la situation en passant par un tableau temporaire, une sélection aléatoire dans celui-ci, la suppression de l'élément sélectionné et ainsi de suite. Mais j'ai pas le temps de m'y plonger, dsl.
J'te remets le lien : http://membres.lycos.fr/famillepfeiffer/samy/tirageDensites.xls
@+
J'te remets le lien : http://membres.lycos.fr/famillepfeiffer/samy/tirageDensites.xls
@+