Comment lancer un VBA

P

Pascal71

Guest
Bonjour,

En recherchant sur le forum, la possibilitée d'avoir une MCF à plus de 3 conditions, j'ai appris que cela n'étais pas possible.

Pour cela il fallait utilise le VBA or étant novice dans ce domaine, j'ai simplement repris l'exemple de base en modifiant la demande.
Au départ la consigne Case Is faissait réference à de chiffre étant donner que pour moi c'est des noms et si j'ai bien compris il fallait remplacer le > ou < par =.

Mais maintenant comment faire pour que ça fonction ?. Qu'elle procédure doit-on utiliser ?.

Peut on mettre un espace entre des nom comme dans la demande Senior Région ?

Dernière petite question, où peut-on trouver la liste des index de couleurs.

Voici le VBA

Private Sub Worksheet_Change(ByVal Target As Range)
'délimitation de l'élèvenement
If Intersect(Target, Range('C21:U36')) Is Nothing Then: Exit Sub
'exclusion si cellule vide ou non numérique ou de couleur grise
If Not IsNumeric(Target) Or IsEmpty(Target) Then: Exit Sub

Select Case Target.Value
Case Is = Poussin
Target.Interior.ColorIndex = 35 'vert clair
Case Is = Benjamin
Target.Interior.ColorIndex = 4 'vert
Case Is = Minime
Target.Interior.ColorIndex = 36 'jaune clair
Case Is = Cadet
Target.Interior.ColorIndex = 40 'brun
Case Is = Junior
Target.Interior.ColorIndex = 45 'orange
Case Is = Senior Région
Target.Interior.ColorIndex = 6 'Rouge

End Select

End Sub


Je vous remercie de bien vouloir m'aider.

Pascal71
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Pascal, Michel, le Forum


Pour la liste des ColorIndex il y avait ceci sous l'aide Office 2000



Et sinon on peut aussi les voir par programmation :

Sub ListColorIndex()
Dim i As Byte

&nbsp; &nbsp;
For i = 1 To 56
&nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;
With Cells(i, 1)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Value = i
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Interior.ColorIndex = i
&nbsp; &nbsp; &nbsp; &nbsp;
End With
&nbsp; &nbsp;
&nbsp; &nbsp;
Next
&nbsp; &nbsp;

End Sub


Pour le reste, je n'ai pas vraiment compris ton problème, mais il est certain que tu dois écrire tes Strings recherchées entre Double Quote...

Option Compare Text

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range('C21:U36')) Is Nothing Then Exit Sub


Select Case Target.Value
&nbsp; &nbsp;
Case 'Poussin'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = 35
'vert clair
&nbsp; &nbsp;
Case 'Benjamin'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = 4
'vert
&nbsp; &nbsp;
Case 'Minime'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = 36
'jaune clair
&nbsp; &nbsp;
Case 'Cadet'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = 40
'brun
&nbsp; &nbsp;
Case 'Junior'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = 45
'orange
&nbsp; &nbsp;
Case 'Senior Région'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = 6
'Rouge
&nbsp; &nbsp;
Case Else
&nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Cas Imprévu !'
&nbsp; &nbsp; &nbsp; &nbsp; Target.Interior.ColorIndex = xlNone
End Select

End Sub


Bonne Journée
[ol]@+Thierry[/ol]
 
P

Pascal71

Guest
Bonsoir MichelXLD et _Thierry,

Je vous remercie des informations que vous venez de me fournir.

Le soucis était que la formule mise sous VBA ne fonctionnait pas. Je pense que cela était du au fait que le nom était pas entre guillement.

Michel les réference que tu me donne sont celle que j'ai utilise et que j'ai essayé de les appliquer à mon cas sans succés.

Je vous remercie encore pour cette aide et je vais applique les modifications.

Merci

Pascal71
 
P

Pascal71

Guest
Re-bonsoir,

Je vous joint le fichier avec la formule VBA. Cela ne marche toujours pas.

Pourriez-vous me dire ou se situe l'erreur ?.

Merci par avance

Pascal71 [file name=Champ.zip size=11949]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Champ.zip[/file]
 

Pièces jointes

  • Champ.zip
    11.7 KB · Affichages: 19
  • Champ.zip
    11.7 KB · Affichages: 22
  • Champ.zip
    11.7 KB · Affichages: 17

MichelXld

XLDnaute Barbatruc
bonjour Pascal , bonjour cher @+Thierry


j'espere que cette adaptation pourra t'aider


Option Explicit
Option Compare Text 'pour ne pas différencier les majuscules / minuscules et accentuations

Private Sub Worksheet_Change(ByVal Target As Range)
'délimitation de l'évenement
If Intersect(Target, Range('B5:B40')) Is Nothing Then Exit Sub
'exclusion si cellule vide
If IsEmpty(Target) Then Exit Sub

Select Case Target.Value
Case Is = 'Poussin'
Target.Interior.ColorIndex = 7
Case Is = 'Benjamin'
Target.Interior.ColorIndex = 4 'vert
Case Is = 'Minime'
Target.Interior.ColorIndex = 6
Case Is = 'Cadet'
Target.Interior.ColorIndex = 35
Case Is = 'Junior'
Target.Interior.ColorIndex = 33
Case Is = 'SeniorRégion'
Target.Interior.ColorIndex = 27

End Select

End Sub



bon week end
MichelXld

Message édité par: michelxld, à: 03/09/2005 07:41
 

Statistiques des forums

Discussions
312 514
Messages
2 089 223
Membres
104 068
dernier inscrit
OLIVIER VERDIERE