RESOLUSélection proportionnelle et automatique de lignes pour enquête de satisfaction

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 !

jozerebel

XLDnaute Occasionnel
Bonjour à tous!

J'ai une base de données de 4000 usagers.

Je dois réaliser une enquête de satisfaction sur un % donné de cet effectif.

Mais je dois répartir ce % de manière équitable en fonction de l'organisme et du secteur dont dépendent les patients.

Cette sélection doit se faire de manière aléatoire et automatique pour prouver que ce n'est pas moi qui ai choisi les usagers à sonder...

Je n'ai aucune idée de comment faire...

Je joins un fichier en espérant avoir été assez explicite...

Merci pour votre aide précieuse!
 

Pièces jointes

Dernière édition:
Re : Sélection proportionnelle et automatique de lignes pour enquête de satisfaction

Bonjour,

J'ai tenté quelque chose

j'ai modifié ton fichier pour avoir des volumes suffisants par groupe homogène

J'ai ajouté deux colonnes :
Zone : pour avoir une clé unique
rang : calculer de manière aléatoire

Appuie plusieurs fois sur Lance pour voir l'évolution des propositions

a+
 

Pièces jointes

Re : Sélection proportionnelle et automatique de lignes pour enquête de satisfaction

Re,

Après quelques tests, cela semble convenir. J'essaierai sur la base réelle cette semaine.

Afin que je comprenne bien et que je m'"enrichisse", peux-tu m'expliquer ces trois macros :

Sub tirage()
'Stop
'nb = Int((derligne * Rnd) + 1)
For j = premligne To derligne
Cells(j, 10) = Int((nb * Rnd) + 1)
Next j
End Sub

Sub classement()
derligne = Sheets("Feuil1").Range("A65530").End(xlUp).Row
Range("A2:J" & derligne).Select
Selection.Sort Key1:=Range("I2"), Order1:=xlAscending, Key2:=Range("J2"), Order1:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
xlSortNormal

premligne = 2
a = Cells(2, 9)
For i = 2 To 46
If Cells(i + 1, 9) <> a Then
derligne = i
Call choix
premligne = derligne + 1
a = Cells(derligne + 1, 9)
End If

Next i
End Sub

Sub choix()
'Stop
nombre = Round((derligne - premligne + 1) / 3, 0)
For j = premligne To derligne
If j >= nombre + premligne Then j = derligne: GoTo suite
Cells(j, 8) = "A générer"
suite:
Next j
End Sub


Merci encore pour le partage de connaissances!
 
Re : Sélection proportionnelle et automatique de lignes pour enquête de satisfaction

Re,

J'ai mis des commentaires dans les programmes
Reprends ce fichier car j'ai fait une modification pour traiter un nombre indéfini d'individus dans la base

A suivre
 

Pièces jointes

- 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
Retour