Sélection de données aléatoires groupées

  • Initiateur de la discussion Initiateur de la discussion Yabouye
  • Date de début Date de début

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 !

Yabouye

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier dans lequel j'ai une colonne avec des noms, une colonne avec des dates, une colonne avec des points GPS.
Pour chaque nom, j'ai plusieurs points GPS pour le même jour. Ce que je souhaite faire, c'est sélectionner aléatoirement pour chaque nom un point GPS par jour.

Je vous mets un exemple du fichier que j'ai.

Je pense que ce qu'il faudrait faire, c'est de "créer" des groupes Nom où on prendrait en compte le fait qu'il y ait des dates identiques, et ensuite donner un chiffre aléatoire à chaque ligne de chaque groupe Nom. Au final, il faudrait sélectionner à l'intérieur de chaque groupe, un point par jour.

Ce que j'ai fait pour le moment c'est de concatener ma colonne nom avec ma colonne date et ensuite de créer une colonne rand où j'ai donné un chiffre aléatoire à chaque ligne. Mais je ne sais pas aller plus loin que cela.

Est-ce que quelqu'un pourrait m'indiquer une solution à mon problème ? Je précise que mon fichier de base fait pas loin de 40 000 lignes donc le but est vraiment d'avoir une automatisation du processus.

Merci à vous !
 

Pièces jointes

Re : Sélection de données aléatoires groupées

Bonjour Yabouye; A Tous.


En VBA.


Code:
Sub tt()
Set f = ActiveSheet

f.Range("E:E").Interior.Color = xlNone

f.Range("E:E").Value = ""
 
DerniereLigne = f.Range("A" & Rows.Count).End(xlUp).Row
   
For i = 2 To DerniereLigne + 1

 Set Actuel = f.Cells(i, "C")
 
 If Actuel.Value <> ValeurPrecedente And ValeurPrecedente <> "" Then
    choix.Interior.Color = vbGreen
    hasard = 0
 End If
 
 If f.Cells(i, "D").Value > hasard Then
    Set choix = Cells(i, "E")
    hasard = f.Cells(i, "D").Value
 End If
  
 ValeurPrecedente = Actuel.Value
Next
End Sub


Cordialement

Docmarti
 
Re : Sélection de données aléatoires groupées

Bonjour Yabouye et bienvenue sur XLD 🙂 - bonjour excfl, Docmarti -

Un autre essai avec tri et formatage des blocs. Le code est dans le module de Feuil1.

Edit: petite erreur dans le code; ne touchait que la mise en forme des 2 premiers blocs.
dans le code, avant le for..., remplacer prec = Cells(1, "a") & Cells(1, "b") par prec = Cells(2, "a") & Cells(2, "b")
 

Pièces jointes

Dernière édition:
Re : Sélection de données aléatoires groupées

Bonsoir à tous.


Un essai sans VisualBasic.
Mais je ne l'ai pas essayé sur quarante mille lignes.



ℝOGER2327
#7339


Samedi 21 Palotin 141 (Occultation de Sa Magnificence le Dr Sandomir - fête Suprême Quarte)
21 Floréal An CCXXII, 8,9529h - staticé
2014-W19-6T21:29:13Z
 

Pièces jointes

Re : Sélection de données aléatoires groupées

Suite...


Un essai sur dix mille lignes et une centaine de noms : ça a l'air de fonctionner.​


ℝOGER2327
#7340


Samedi 21 Palotin 141 (Occultation de Sa Magnificence le Dr Sandomir - fête Suprême Quarte)
21 Floréal An CCXXII, 9,6260h - staticé
2014-W19-6T23:06:09Z
 

Pièces jointes

Re : Sélection de données aléatoires groupées

Bonjour à tous,

Un grand merci pour votre aide et surtout pour votre rapidité ! J'ai réussi à faire ce que je voulais, et de façon différente en testant vos différents codes.

C'est parfait.
 
Re : Sélection de données aléatoires groupées

Bonjour mapomme et merci pour ton fichier, il fonctionne très bien.

J'ai fais la correction mais j'aurais besoin d'un autre petit changement. J'aimerais rajouter 2 colonnes au tableau que tu as crée : une colonne X pour les coordonnées GPS est-ouest et une colonne Y pour les coordonnées Nord-Sud. J'ai tripatouillé dans le code en changeant juste les "a" par des "b" etc... car je me suis dit que a devait représenter la colonne A. Mais cela n'a pas fonctionné (erreur 400).

Pourrais-tu m'indiquer comment changer le code pour pouvoir rajouter 2 colonnes avant la colonne nom (ou même renvoyer un fichier avec le code) ?

Un grand merci !
 
Re : Sélection de données aléatoires groupées

Bonsoir Yabouye, mapomme.


Dans mon classeur, pas de formule à modifier. Il suffit de :
  1. Sélectionner la colonne A et insérer deux colonnes.
  2. Sélectionner une cellule quelconque du tableau et redimensionner le tableau (dans l''onglet Outils de tableau / Création du ruban).
  3. Nommer les deux nouvelles colonnes du tableau et les remplir.


Bonne soirée.


ℝOGER2327
#7342


Lundi 23 Palotin 141 (Saints Quatrezoneilles, Herdanpo, Mousched-Gogh, Palotins - fête Suprême Quarte)
23 Floréal An CCXXII, 8,2003h - bourrache
2014-W20-1T19:40:51Z
 

Pièces jointes

Re : Sélection de données aléatoires groupées

Bonjour Yabouye, mapomme, ROGER2327

mapomme : Pour éviter de toujours avoir la même séquence de nombres aléatoires à chaque utilisation de l'application, il est essentiel d'utiliser la commande Randomize au moins une fois avant d'utiliser Rnd.

Exemple:
Code:
Randomize Timer

Cordialement

Docmarti
 
Re : Sélection de données aléatoires groupées

Bonsoir Docmarti 🙂

Tu as mille fois raison de me le signaler. Mais bien que le sachant, j'oublie assez souvent de le placer dans le code. Sans doute un signe de sénilité précoce 🙁
 
- 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

Discussions similaires

Réponses
10
Affichages
566
Réponses
3
Affichages
52
Retour