Vba
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
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
-
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