Une couleur au hasard avec choix de la couleur et du ton

0/5 (2 avis)

Snippet vu 3 126 fois - Téléchargée 3 fois

Contenu du snippet

Bonjour,

La fonction ci-dessous retourne une couleur au hasard en entrant :
1-La couleur (blanc,bleu,jaune,marron,noir,orange,rose,rouge,turquoise,vert,violet)
2-Le ton (clair,moyen,foncé)

Cela évite de chercher dans les codes RVB une couleur qu'on désire trouver.

Merci à Xavier/XavSnap pour son aide sur les "select case" plutot que des "if" sur la version précédente.

Dim random As New Random() 
Function couleur_au_hasard(couleur As String, ton As String) 
Dim couleurs(0) As Color 

Select Case ton 
Case "clair" 
Select Case couleur 
Case "blanc" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 204, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 255, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 204, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 255, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 204, 255) 

Case "bleu" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 204, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 255, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 204, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 204, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 255, 255) 

Case "jaune" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 204, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 204, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 204, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 204, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 204, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 255, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 255, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 255, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 255, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 255, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 204, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 204, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 204, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 204, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 204, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 255, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 255, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 255, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 255, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 255, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 204, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 204, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 204, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 204, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 204, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 255, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 255, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 255, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 255, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 255, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 255, 51) 

Case "orange" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 153, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 153, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 153, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 153, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 153, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 153, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 153, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 153, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 153, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 153, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 153, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 153, 51) 

Case "turquoise" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 204, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 255, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 204, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 204, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 204, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 255, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 255, 204) 

Case "vert" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 204, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 204, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 204, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 204, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 255, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 255, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 255, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 255, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 204, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 204, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 204, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 255, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 255, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 255, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 255, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 255, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 204, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 204, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 204, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 204, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 255, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 255, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 255, 51) 

Case "violet" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 153, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 153, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 102, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 153, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 153, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 153, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 153, 255) 

Case Else 
Return Color.White 
Exit Function 
End Select 




Case "moyen" 
Select Case couleur 
Case "bleu" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 102, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 102, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 153, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 153, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 0, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 102, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 153, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 51, 255) 

Case "marron" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 102, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 102, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 102, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 102, 51) 

Case "orange" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 102, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 102, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 102, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 102, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 102, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 102, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 102, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 102, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 102, 51) 

Case "rose" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 102, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 102, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 102, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 51, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 102, 153) 

Case "rouge" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 0, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 51, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 51, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 51, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 51, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 51, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 51, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 51, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 51, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 51, 51) 

Case "turquoise" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 153, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 153, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 153, 204) 

Case "vert" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 102, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 102, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 102, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 102, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 153, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 153, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 153, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 153, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 153, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 153, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 153, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 153, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 153, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 153, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 153, 51) 

Case "violet" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 0, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 102, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 102, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 153, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 51, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 0, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 0, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 102, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 102, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 51, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 51, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 51, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 0, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 0, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 0, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 51, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 51, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 0, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 0, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 102, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 102, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 51, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 51, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 51, 255) 

Case Else 
Return Color.White 
Exit Function 
End Select 



Case "foncé" 
Select Case couleur 
Case "bleu" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 51, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 51, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 51, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 255, 255) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 0, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 102, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 51, 204) 

Case "marron" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 51, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 51, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 51, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 0, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 0, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 0, 51) 

Case "noir" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 0, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 0, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 0, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 0, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 51, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 51, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 51, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 51, 51) 

Case "rouge" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 51, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 51, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 51, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 0, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 0, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 153, 0, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 0, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 0, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 204, 0, 51) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 0, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 0, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 0, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 255, 0, 51) 

Case "vert" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 102, 0) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 102, 102) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 102, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 51, 102, 51) 

Case "violet" 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 0, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 0, 204) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 51, 153) 
ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 102, 51, 204) 

Case Else 
Return Color.White 
Exit Function 
End Select 

Case Else 
Return Color.White 
Exit Function 
End Select 


'couleurs au choix:blanc,bleu,jaune,marron,noir,orange,rose,rouge,turquoise,vert,violet 
'tons au choix:clair, moyen,foncé 
If couleurs.Count > 1 Then 
Return couleurs(Random.Next(1, couleurs.Count - 1)) 
Else 
Return Color.White 
End If 
End Function

A voir également

Ajouter un commentaire Commentaires
michael59330 Messages postés 29 Date d'inscription dimanche 27 janvier 2008 Statut Non membre Dernière intervention 2 avril 2023
7 juil. 2019 à 21:43
Bonjour,

Je vous remercie pour votre réponse,

Concernant les balises, j'ai bien essayer d'en mettre mais les retours à la ligne avaient disparus, alors j'ai dû retirer les balises.

Les doublons présents dans la fonction sont volontaires afin que les toutes principales couleurs soient représentées, même si la différence ne se voit pas à l'oeil nu.

Belle journée,

Bien cordialement
vb95 Messages postés 3417 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 20 mai 2023 165
Modifié le 6 juil. 2019 à 22:17
Bonsoir
Plusieurs choses :
1) L'utilisation des balises de code donnerait un code plus agréable à lire : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Il me semble que on te l'ai déjà dit .
2) une collection List(of) éviterait de redimensionner à chaque le tableau des couleurs
3) Si je prends les 4 premiers If
If couleur = "noir" And ton = "foncé" Then ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 0)
If couleur = "noir" And ton = "foncé" Then ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 51)
If couleur = "noir" And ton = "foncé" Then ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 102)
If couleur = "noir" And ton = "foncé" Then ReDim Preserve couleurs(couleurs.Count) : couleurs(couleurs.Count - 1) = Color.FromArgb(255, 0, 0, 153)

Les 4 sont considérés comme des couleurs noir avec un ton foncé avec des paramètres de ton différent
De plus plus loin on retrouve encore des couleurs "noir avec ton foncé"
4) Il y a de l'optimisation à faire en exploitant les paramètres de Color.FromArgb et les 3 valeurs RGB associés à chaque couleur et le ton donné à cette couleur

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.