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

C

cheikna12

Guest
Bonjour,

Nouveau sur le forum, je tiens dabord a remercier tous les participants pour le travail fourni et les aides. Je me suis inscrit pour améliorer ma maitrise de excel et surtout connaitre mieux VBA (je n'y connais rien)😱😱

Au fait, je voudrais réaliser pour mes recherches en eclairage du batiments, un petit outil excel, qui à partir des résultats me donnerait une coloration dans ma feuille de résultat (sans la valeur)

En pièce jointe, j'ai mis ce que je souhaiterais mais fait à la main.

Si quelqu'un pourrait m'aider SVP
 

Pièces jointes

Dernière modification par un modérateur:
Re : Aide Couleur

Bonjour,

Voici un code à copier dans un module standard.
Code:
Sub Coloration()
Dim R As Range
Dim C As Range
Dim S As Worksheet
Dim var
Dim i&
Dim j&
Dim Couleurs
Dim x
Couleurs = Array(, 6, 40, 44, 45, 46, 53)
If TypeName(Selection) <> "Range" Then Exit Sub
Set R = Selection
If R.Columns.Count = 1 And R.Rows.Count = 1 Then Exit Sub
var = R
For i& = 1 To UBound(var, 1)
  For j& = 1 To UBound(var, 2)
    x = var(i&, j&)
    If x >= 0 And x <= 1 Then x = 1
    If x > 1 And x <= 2 Then x = 2
    If x > 2 And x <= 3 Then x = 3
    If x > 3 And x <= 4 Then x = 4
    If x > 4 And x <= 5 Then x = 5
    If x > 5 And x <= 6 Then x = 6
    var(i&, j&) = x
  Next j&
Next i&
Set S = Sheets.Add
Set R = S.Range(R.Address)
R = var
For Each C In R
  If C >= 0 And C <= 6 Then
    C.Interior.ColorIndex = Couleurs(C)
  End If
Next C
R.ClearContents
End Sub

Sélectionnez une plage de valeurs et lancez la macro "Coloration".

Le résultat apparaîtra sur une nouvelle feuille. Seules, seront colorisées, les cellules contenant
des valeurs égales ou supérieures à 0 ET égales ou inférieures à 6 .

Cordialement.

PMO
Patrick Morange
 
Re : Aide Couleur

Bonsoir,
PMO, merci pour votre réponse et il marche très bien.
Juste une petite question, si plus tard, je souhaite changer les couleurs, je dois juste changer la valeur suivant les couleurs de VBA a la ligne

Couleurs = Array(, 6, 40, 44, 45, 46, 53)

C'est bien ça?
 
Re : Aide Couleur

Bonjour,

Si plus tard, je souhaite changer les couleurs, je dois juste changer la valeur suivant les couleurs de VBA a la ligne ...
Oui, c'est bien cela, vous avez bien extrapolé.

A noter cependant :
La variable Couleurs est de type Variant et on peut lui affecter un tableau.
C'est ce qui est fait avec Couleurs = Array(, 6, 40, 44, 45, 46, 53)
Dans ce cas précis, le tableau est monodimensionné (un vecteur) et ses dimensions commencent à 0. On peut voir, dans l'instruction, juste après la parenthèse ouvrante qui est immédiatement suivie d'une "," qu'il y a un argument vide. Ainsi, pour une question de praticité dans la suite du code, les arguments valides commencent à l'indice 1 pour finir à l'indice 6.
Tout cela pour dire qu'il faut conserver cet argument vide (,

D'autre part, la palette de couleurs Excel comprend 56 couleurs et peut changer d'un classeur à l'autre selon les réglages qu'a pu effectuer l'utilisateur. Si vous utilisez des couleurs personnalisées, il vous faudra pouvoir exporter la palette et ceci peut se faire par programme. Mais c'est une autre histoire.

Cordialement.

PMO
Patrick Morange
 
Re : Aide Couleur

Bonjour,

Les couleurs sont définies dans le tableur et donc facilement modifiables.

Code:
Sub coloriage()
 Set champ = Range("C3:G12")
 For Each c In champ
   p = Application.Match(c, [couleurs], 1)
   If Not IsError(p) Then
     c.Interior.ColorIndex = Range("couleurs")(p).Interior.ColorIndex
   End If
 Next c
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

Dernière édition:
Re : Aide Couleur

Merci pour vos réponses. J'ai réussi a obtenir ce que je voulai grace a votre aide.
En souhaitant longue vie a ce forum, bonne journée a tous.

P.S: je reviendrai souvent pour mes pbm ou qui sait peut etre que en apprenant je deviendrai pro VBA
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
9
Affichages
992
M
Réponses
2
Affichages
37 K
M
2
Réponses
5
Affichages
14 K
21did21
2
B
Réponses
1
Affichages
2 K
P
  • Question Question
Réponses
2
Affichages
2 K
plasmadav
P
L
Réponses
2
Affichages
937
E
Retour