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

Hulk

XLDnaute Barbatruc
Hello les ami(e)s,

J'ai un souci de couleur que je n'arrive pas à gérer.

Comme pas évident à expliquer ainsi, le mieux est de jeter un petit coup d'oeil au fichier joint svp.

Par avance merci et agréable fin de journée à tous !

Cdt, Hulk.
 

Pièces jointes

Re : Problème couleur.

Bonjour

Une piste
Code à utiliser
Do
MyValue = Int((6 * Rnd) + 1)
If MyValue = 6 Then Exit Do
If MyValue = 4 Then Exit Do
Loop
Range("A1").Value = MyValue

With Range("B1:C2").Select

Selection.Interior.ColorIndex = MyValue
End With




Le code ci dessous sélectionne la cellule
With Range("B1:C2").Select
pour sortir il suffit de sélectionner par une instruction une nouvelle cellule.

JP
 
Dernière édition:
Re : Problème couleur.

Bonjour,
je n'ai pas compris la même chose



Code:
Private Sub CommandButton1_Click()


     MyValue = Int((25 * Rnd) + 1)
     Range("A1").Value = MyValue
     Range("B1:C1").Select
     Selection.Interior.ColorIndex = MyValue
    
    Range("A1").Select
       
    
     MyValue2 = Int((25 * Rnd) + 1)
     Range("B2:C2").Select
     Selection.Interior.ColorIndex = MyValue2
    
    
    Range("A1").Select

End Sub
 
Re : Problème couleur.

Hello,

Ok merci Jp, mais ça ne m'aide pas vraiment cette piste 🙄

De plus, je sais bien qu'il suffit de cliquer sur une autre cellule pour sortir de cette sélection, mais justement dans le fichier je mets bien :

"Comment sortir de la sélection sans devoir cliquer sur une autre cellule"

Cdt, Hulk.

Edit : Wouhaa c'est tout arrivé d'un coup.
Ok merci à tous vais tester de suite tout ça et vous dirais.

Oui au fait donc après la boucle, pour sortir de la sélection... Pas ceci : Range("A1").Select
mais bien une autre combine pour "désélectionner" le bloc B1:C2 !

Bref vous tiens au courant, et merci !
 
Dernière édition:
Re : Problème couleur.

Hello, Jp, Wamme, Forum,

Merci pour votre aide et gentillesse.

J'ai vite jeter un coup, et apparemment j'ai dû mal m'expliquer.

Si j'ai bien compris ton code Jp, il attribue au 6 du jaune et au 4 du vert ?

Et le tien Wamme, il attibue n'importe quelle couleur à n'importe quel numéro ?

Alors je reformule ma demande :

Il y a 6 numéros (1, 2, 3, 4, 5, 6) et deux couleurs possibles (jaune et vert).

C'est bien le principe à Wamme, mais avec 6 numéros et deux couleurs uniquement.

Voyez ce que je veux dire ?

Merci en tout cas au deux !

Cdt, Hulk.
 
Re : Problème couleur.

Re,

Je remets ici en brut le code que j'utilise.

1) Le For i = 1 To 250 c'est pour la longueur (délai)
(J'ai volontairement augmenté le To à 250 pour bien vous rendre compte que les deux couleurs défilent bien, mais que c'est chaque fois le vert qui l'emporte, et moi je souhaite qu'il me donne une des deux couleurs au pif !)

2) Le MyValue = Int((6 * Rnd) + 1) c'est pour le nombre de 1 à 6.

Je sais que vous savez ces deux points, mais je le précise quand même.

Voici le code :
Code:
Private Sub CommandButton1_Click()
Dim MyValue
Dim i As Integer

Randomize

    For i = 1 To 250
     MyValue = Int((6 * Rnd) + 1)
     Range("A1").Value = MyValue
    
    With Range("B1:C2").Select
     Selection.Interior.ColorIndex = 6
     Selection.Interior.ColorIndex = 4
    End With
    
    Next i

End Sub
Cdt, Hulk.
 
Re : Problème couleur.

Alors comme çà

Code:
Private Sub CommandButton1_Click()
Dim MyValue
Dim i As Integer

Randomize
XX = Int((2 * Rnd) + 1)
If XX = 1 Then coul = 6 Else coul = 4


    For i = 1 To 15
     MyValue = Int((6 * Rnd) + 1)
     Range("A1").Value = MyValue
    
    With Range("B1:C2").Select
         Selection.Interior.ColorIndex = coul
     
    End With
    
    Next i
Range("A1").Select
End Sub
 
Re : Problème couleur.

Bonsoir à tous

pas sur d'avoir bien compris ton besoin, mais regarde peut être le code ci dessous, s'il s'agit de choisir aléatoirement entre 2 couleurs...

Code:
Randomize
Range("B1:C2").Interior.ColorIndex = Choose(Int((2 * Rnd) + 1), 4, 6)

bonne soirée
@+
 
Re : Problème couleur.

Hello,

Salut Pierrot, c'est impec ta soluce !

J'ai donc mis comme ça
Code:
Private Sub CommandButton1_Click()
Dim MyValue
Dim i As Integer

Randomize

    For i = 1 To 250
     MyValue = Int((6 * Rnd) + 1)
     Range("A1").Value = MyValue
    
    With Range("B1:C2").Select
     Selection.Interior.ColorIndex = Choose(Int((2 * Rnd) + 1), 4, 6)
    End With
    
    Next i

End Sub
et ça marche impec !

Wamme ton code est nickel aussi, mais pardonne-moi, j'avoue que j'ai un petit faible pour l'autre version, car on voit défiler les couleurs 🙄 😀 j'espère que tu ne m'en voudras pas !
D'façons je le garde aussi !

Concernant la désélection du bloc B1:C2, je suis certain qu'il y a une autre manière... Je continue voir si je ne retrouve pas ce fichu fichier où j'avais vu ça, à savoir : Comment désélectionner sans devoir cliquer sur une autre cellule ou sans devoir passer par Range("A1").Select -> Sortir de la sélection !

En tous cas encore merci à vous tous !

Cdt, Hulk.
 
Dernière édition:
Re : Problème couleur.

Hello,

Au fait j'ai encore modifié le code.
Code:
Private Sub CommandButton1_Click()
Dim MyValue
Dim i As Integer

Randomize

    For i = 1 To 250
     MyValue = Int((6 * Rnd) + 1)
     Range("A1").Value = MyValue
     Range("B1:C2").Interior.ColorIndex = Choose(Int((2 * Rnd) + 1), 4, 6)
    Next i

End Sub
De cette manière, rien n'est sélectionné après la boucle !

Me voilà heureux 😀

Un grand merci à vous, Jp, Wamme, Pierrot.

Bonne soirée !

Cdt, Hulk.

P. S. Je reste pérsuadé qu'on peut sortir d'une sélection sans Range("A1").Select ou sans devoir cliquer sur une autre cellule,... via macro !
Mais je ne retrouve plus où j'ai vu ça.
 
Re : Problème couleur.

Bonjour à tous
Bonjour Hulk

Je ne comprends pas très bien ceci:
P. S. Je reste pérsuadé qu'on peut sortir d'une sélection sans Range("A1").Select ou sans devoir cliquer sur une autre cellule,... via macro !
Mais je ne retrouve plus où j'ai vu ça.

Est ce ceci :
Code:
Option Explicit

Dim anciennecel As String

Private Sub CommandButton1_Click()
Dim MyValue As Byte
Dim i As Integer

Randomize

    For i = 1 To 20 '250
     MyValue = Int((6 * Rnd) + 1)
     Range("A1").Value = MyValue
     Range("B1:C2").Interior.ColorIndex = Choose(Int((2 * Rnd) + 1), 4, 6)
    Next i
Range(anciennecel).Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
anciennecel = Target.Address(0, 0)
End Sub
Eric
 
Re : Problème couleur.

Hello,

Merci de te pencher sur le problème Eric.

Hm c'est presque ça, moi je pensais carrément qu'il ne sélectionne rien après !

Mais il me semble soudainement que j'ai dis une bêtise (de plus) 😛

Je crois que c'était plutôt lorsqu'on fait une action sur une image… Pour désélectionner l'image après l'action.

Mais bref, pas grave… Merci encore.

Cdt, Hulk.
 
- 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
5
Affichages
193
Réponses
21
Affichages
511
Réponses
12
Affichages
494
Réponses
2
Affichages
516
  • Question Question
Microsoft 365 Ajout de données
Réponses
3
Affichages
573
Retour