Microsoft 365 Envoie de données aléatoirement.

  • Initiateur de la discussion Initiateur de la discussion GClaire
  • 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 !

GClaire

XLDnaute Impliqué
Hello le fofo

Ce que j'essaye de faire

1710137530837.png


Et d'envoyer les données d'une plage de cellule vers une autre mais aléatoirement.

Avec de l'aide j'ai tenté ceci, mais en vain, je me retrouve avec des doublons.

J'aurais une autre question sur ce fichier, mais je voudrais résoudre cela avant.

Je vous remercie par avance.

Passez une bonne et belle journée.

G'Claire
 

Pièces jointes

CC Sylvanu

Merci de te pencher sur mon fichier.

Je viens de tester, ton fichier

C'est tout a fait cela, mais dans l'autre sens, lol

On analyse la plage K3😛, pour envoyer vers A3:G, j'ai donc essayé de modifier par moi même, ce qui donnerai :

VB:
Sub Distribue()
DL = [K10000].End(xlUp).Row
Range("B3:G" & DL).ClearContents
N = Application.CountIf([K3:P3], "*")
T = Range("K3:P" & DL)
ReDim Sortie(1 To UBound(T), 1 To N)
For i = 1 To UBound(T)
    Alea = RndList(N)
    For j = 1 To N
        Sortie(i, j) = T(i, Alea(j, 1))
    Next j
Next i
[B3].Resize(UBound(Sortie, 1), UBound(Sortie, 2)) = Sortie
End Sub
Function RndList(N)
ReDim T(1 To N, 1 To 2): Randomize
For i = 1 To N: T(i, 1) = i: T(i, 2) = Rnd: Next i
For i = 1 To N
    For j = i To N
        If T(i, 2) > T(j, 2) Then
            Buffer = T(i, 1): T(i, 1) = T(j, 1): T(j, 1) = Buffer
            Buffer = T(i, 2): T(i, 2) = T(j, 2): T(j, 2) = Buffer
        End If
    Next j
Next i
RndList = T
End Function

Es-tu d'accord avec cette modification?

Merci, G'Claire
 
Hello Sylvanu, le fofo

Ok merci.

J'ai testé la formule, je vais inclure un ti code pour l'envoyer en même temps que le reste.

Je regarde le MFC aussi, cela me fera l'occasion de l'utiliser, je le fais que trés rarement.

Merci

Passe Une bonne journée.

G'Claire
 
Re,
La modif me semble correcte, le test est concluant.
Pour la notation, vous pouvez faire en H3 :
VB:
=SI(B3=K3;"A";SI(C3=K3;"B";SI(D3=K3;"C";SI(E3=K3;"D"))))
et les couleurs peuvent se faire aisément par MFC.
CC

Bon j'ai voulu tenter de mettre cette formule avec l'automation du reste du code, mais j'ai de suite une erreur dans VBA

Fin d'instruction attende en cela me surligne B3

VB:
Range("H3:H" & DL).formula = "SI("B3:B" & DL="K3:K"& DL;"A";SI("C3:C" & DL="K3:K"& DL;"B";SI("D3:D"& DL="K3:K"& DL;"C";SI("E3:E"& DL="K3:K"& DL;"D"))))"

Ou est ma boulette?

Merci

G'Claire
 
Re, bonsoir Danielco,
Ou est ma boulette?
1- Si la formule est en anglais, on met .formula, si votre XL est en français et que vous voulez entrer la formule en français on met .formulalocal
2- Il faut doublet les guillemets à chaque fois.
3-Je ne comprend pas votre formule. Que voudrait dire : SI("B3:B25" ="K3:K25".. ?
4- Si vous voulez mettre exactement la même formule que la mienne, vous pouvez mettre :
VB:
Range("H3:H" & DL).FormulaR1C1 = "=IF(RC[-6]=RC[3],""A"",IF(RC[-5]=RC[3],""B"",IF(RC[-4]=RC[3],""C"",IF(RC[-3]=RC[3],""D""))))"
Vous l'obtenez facilement via l'enregistreur de macro.
L'avantage de la laisser en anglais est qu'elle est compatible de tout XL, français ou non.
 
CC sylvanu, le fofo

Je viens de me rendre compte d'un truc bizard.

Dans ce fichier (Un allégé de celui que je tente de faire a mon copain) ou j'ai repris ton code

Les données sont a changer dans la feuille "Questions", et la feuille "Mélange", les récupère par des formules comme cela "=Questions!C2"; "=Questions!D2" etc... (Il y aura toujours ce format 3 groupes de 10 questions)

Donc si dans la feuille "Questions" la première question, les réponses sont que des nombres, et bien cela plante et j'ai ce message d'erreur.

1712091804057.png


J'ai mis des lettres et copier coller cette ligne sans lettre plus bas et bien cela fonctionne.

Une idée?

Passez une bonne soirée.

Merci

G'Claire
 

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

Discussions similaires

Réponses
40
Affichages
2 K
  • Question Question
Microsoft 365 Ajout de données
Réponses
3
Affichages
487
Réponses
7
Affichages
798
Réponses
5
Affichages
566
Réponses
3
Affichages
583
Retour