Vba

Fermé
josi987 Messages postés 91 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 20 mars 2018 - 18 juin 2011 à 13:43
josi987 Messages postés 91 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 20 mars 2018 - 2 juil. 2011 à 13:49
Bonjour,
j' ai fais un tableau exel ,et j'ai chercher comment faire une macro vba.
on ma envoyer ceci mais je suis nul
je ne comprend vraiment pas le langage ,
qui pourrais m expliquer clairement comment je dois faire ou aller ce que je dois sélectionner etc....
Private Sub Worksheet_Change(ByVal Target As Range)
'Mettre sous forme de tableau les celules de reference
Set tab_coul = Sheets("mfc").Range("A2:A7")
'debut de definition des cellules pour mfc
Set a_colorer = Range("C19:AG19")
'definition totale (lignes 19 28 etc et colonnes de C a Ag
For n = 28 To 128 Step 10
Set a_colorer = Application.Union(a_colorer, Range("C" & n & ":AG" & n))
Next n
'Si la cellule ayant declenché la sub est incluse dans la definition
If Not Application.Intersect(Target, a_colorer) Is Nothing Then
'pour chaque cellule interessée par la mfc
For Each cel In a_colorer
'comparer a chaque cellule de reference
For Each cell In tab_coul
'si egalite des contenus (sans tenir compte de la casse) mettre la cellule a la couleur de la cellule de reference
If UCase(cel.Value) = UCase(cell.Value) Then cel.Interior.Color = cell.Interior.Color
Next cell
Next cel
End If
End Sub
je vous envoie la piéce jointe pour mieux comprendre
merci de m aider

1 réponse

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
20 juin 2011 à 10:02
Bonjour,

ce code est à mettre à l'endroit suivant :
tu ouvres ton fichier concerné, tu vas dans Outils, macro, visual basic editor.

A gauche, tu cliques sur la feuille concernée par ce code
a droite, là ou tu as ton curseur, tu colles ce code :


' cette macro se délenche à chaque fois que tu fais une modif sur ta feuille
'ce qui est en vert t'expliques ce que fait la macro.
Private Sub Worksheet_Change(ByVal Target As Range)
'Mettre sous forme de tableau les celules de reference
Set tab_coul = Sheets("mfc").Range("A2:A7")
'debut de definition des cellules pour mfc
Set a_colorer = Range("C19:AG19")
'definition totale (lignes 19 28 etc et colonnes de C a Ag
For n = 28 To 128 Step 10
Set a_colorer = Application.Union(a_colorer, Range("C" & n & ":AG" & n))
Next n
'Si la cellule ayant declenché la sub est incluse dans la definition
If Not Application.Intersect(Target, a_colorer) Is Nothing Then
'pour chaque cellule interessée par la mfc
For Each cel In a_colorer
'comparer a chaque cellule de reference
For Each cell In tab_coul
'si egalite des contenus (sans tenir compte de la casse) mettre la cellule a la couleur de la cellule de reference
If UCase(cel.Value) = UCase(cell.Value) Then cel.Interior.Color = cell.Interior.Color
Next cell
Next cel
End If
End Sub
0
josi987 Messages postés 91 Date d'inscription lundi 23 août 2004 Statut Membre Dernière intervention 20 mars 2018
Modifié par josi987 le 2/07/2011 à 14:02
bonjour, Mélanie
je n arrive pas,
j ai sélectionner la feuille congé , j ai coller ce code et rien ne se passe.
je suis vraiment perdue , je ne comprend rien.
0