Générer colonne de données distribuées de façon aléatoir

Bonjour à tous. Je me permets de solliciter votre aide pour résoudre un problème qui me ferait gagner bien du temps. Je veux distribuer des données de façons aléatoires dans une colonne à partir de données que je possède et je ne sais pas comment m'y prendre (je ne maîtrise que les fonctions basiques d'excel). Je me permets de mettre une pièce jointe pour que mon questionnement soit plus clair.

Je vous remercie d'avance vivement pour votre aide !!!!

Bonjour Huxel,

Je suis pas sûr d'avoir bien compris ce que tu voulais comme "base de donnée"...

Mais si c'est des lignes "simplement" (5 lignes de 1865, 110 de ...), je vois pas trop comment faire ça en Excel classique mais en VBA avec 2 boucles imbriquées, ça devrait bien se faire!

Après, tes données tu les as sous cette forme là?

Parce là on (je en tout cas) voit moyennement l'utilité du programme sans intégration!

Je repasse plus tard et je verrais s'il y a besoin que je te détaille le VBA si c'est bien ça que tu voulais faire...

Merci pour ta réponse. Je vais essayer d'être plus clair, pardon pour la confusion. En fait au départ j'ai trois colonnes : une première colonne qui contient une liste d'équipements sportifs, une seconde contient des années de création des équipements, une troisième concerne des périodes de création genre 1865-1945 quand l'année exacte n'est pas connue. Pour pouvoir définir des années moyennes de création des équipements, j'ai besoin de transformer les périodes de la colonne 3 en années. Pour autant je ne veux pas transformer ces périodes en une année médiane ou moyenne mais prendre en compte la répartition par année observée en colonne 2 pour la période 1865-1945. D'où le fichier en pièce jointe, où le nombre attribué à chaque année correspond au nombre de lignes que vais devoir retrouver dans ma 4 eme colonne de mon fichier de base (le tout redistribué de manière aléatoire). Merci, en espérant avoir apporté un peu d'éclaircissement.

Oki, alors le temps de digérer tout ça, et de te pondre un ptit vba qui pourrait te convenir (et faire mon taff accessoirement! ) je repasse te répondre dans la soirée!

Je t'ai mis un petit message privé aussi!

Je te remercie beaucoup pour ton aide. Je te remets le fichier en exemple avec un onglet et la fameuse base de données.

Parfait comme ça je viserais pas à côté!

Ok alors en relisant et en mettant les mains dedans, est-ce que tu veux, c'est "simplement" crée le nombre de lignes définies en face de l'année? Parce que si c'est ça, le code est relativement simple :

Sub RepartSimple()
Dim n As Integer
n = 1

For i = 2 To Sheets("Feuil1").Cells(2, 1).End(xlDown).Row
    For j = 1 To Sheets("Feuil1").Cells(i, 2) + 1
        Sheets("Feuil3").Cells(n, 2) = Sheets("Feuil1").Cells(i, 1)
        n = n + 1
    Next j
Next i

End Sub

Mais là dedans y a plus rien d'aléatoire, juste la répartition "arbitraire" qui a été faite je ne sais comment!

si c'est plus de l'aléatoire entre 2 dates que tu veux faire, ça ressemblerai plutôt à ça :

Sub RepartAleat()
Dim n As Integer
n = 1

For i = 2 To Sheets("Feuil1").Cells(2, 1).End(xlDown).Row
    For j = 1 To Sheets("Feuil1").Cells(i, 2)+1
        Sheets("Feuil2").Cells(n, 2) = Sheets("Feuil1").Cells(i, 1) + Rnd() * (Sheets("Feuil1").Cells(i + 1, 1) - Sheets("Feuil1").Cells(i, 1))
        n = n + 1
    Next j
Next i

End Sub

Tu me diras!

Edit : Évidement dans tout ça, il faut que t'adaptes le noms des feuilles et éventuellement les cellules concernées (c'est cells(ligne,colonne) au cas où, pour pas que t'ai à chercher!)

Bonjour,

pour répondre à ta question, il me faut en fait répercuter le nombre de lignes mentionnées pour chaque année dans la feuille 1 (257 au total), mais réparties de façon aléatoire, dans la feuille 2 à coté de chacun des 257 équipements.

Une fois l'opération faite, puis-je réutiliser le modèle et l'appliquer à d'autres périodes ?

Merci d'avance : la résolution de problèmes c'est sur le forum, les messages privés sont réservés aux discutions!

Donc en fait si je comprend bien, tu veux qu'il y ait le nombre de fois indiqué l'année, mais pas sur des lignes consécutives?

En gros, c'est dans l'écriture et le placement de ces années qu'est l'aléatoire?

Si c'est ça, je vais voir ce que je peux faire, mais ça risque d'être un poil bancal car si on met de l'aléatoire là dedans, on risque de retomber sur des cases pleines... Bref, ça sera ptet un peu indigeste si tu comprends rien au VBA mais je commenterai!

Bon écoute, laisse tomber. Ne perds pas ton temps avec ça. J'espérais juste que cela soit simple au départ mais visiblement non. Je te remercie en tout cas vivement d'avoir consacré du temps à mon problème !

Rechercher des sujets similaires à "generer colonne donnees distribuees facon aleatoir"