bonjour a tous , je suis nouveau sur ce forum et j'ai voulu vous demander de l'aide sur un problème qui me bloque sur les macro.
Mon problème au niveau de la création d'une macro qui peut fonctionner sur la feuille activer , le classeur se constitue de plusieurs feuille , et j'ai créer sur une feuille 5 bouton , chaque bouton correspond a un code macro pour trier des données , mon but est de modifier le code pour que ces macro seront active lorsqu'on passe aux autre feuille puisque tout le concept est pareil sauf les données , je suis pas pro au Macro et je bloque la dessus je vous met l'exemple d'une macro, Merci d'avance pour votre aide .
Sub Mise1()
Dim pf As Range 'déclare la variable pf (Plage de réFérence)
Dim pr As Range 'déclare la variable pr (Plage de Recherche)
Dim cf As Range 'déclare la variable cf (Cellule de la plage de réFérence)
Dim cr As Range 'déclare la variable cr (Cellule de la plage de Recherche)
With Sheets("S11") 'ici ca prend en compte que la feuille s11
Set pf = .Range("E191:E252") 'définit la plage pf
'définit la plage pr
Set pr = .Range("D7:F180")
For Each cf In pf 'boucle 1 : sur toutes les cellules cf de la plage pf
For Each cr In pr 'boucle 2 : sur toutes les cellules cr de la plage pr
If cr.Value = cf.Value Then 'condition : si les deux cellules sont identiques
cf.Font.ColorIndex = 2
Exit For 'sort de la boucle 2
Else: cf.Font.ColorIndex = 1
End If 'fin de la condition
Next cr 'prochaine cellule cr de la boucle 2
Next cf 'prochaine cellule cf de la boucle 1
End With 'fin de la prise en compte de l'onglet
End Sub
Mon problème au niveau de la création d'une macro qui peut fonctionner sur la feuille activer , le classeur se constitue de plusieurs feuille , et j'ai créer sur une feuille 5 bouton , chaque bouton correspond a un code macro pour trier des données , mon but est de modifier le code pour que ces macro seront active lorsqu'on passe aux autre feuille puisque tout le concept est pareil sauf les données , je suis pas pro au Macro et je bloque la dessus je vous met l'exemple d'une macro, Merci d'avance pour votre aide .
Sub Mise1()
Dim pf As Range 'déclare la variable pf (Plage de réFérence)
Dim pr As Range 'déclare la variable pr (Plage de Recherche)
Dim cf As Range 'déclare la variable cf (Cellule de la plage de réFérence)
Dim cr As Range 'déclare la variable cr (Cellule de la plage de Recherche)
With Sheets("S11") 'ici ca prend en compte que la feuille s11
Set pf = .Range("E191:E252") 'définit la plage pf
'définit la plage pr
Set pr = .Range("D7:F180")
For Each cf In pf 'boucle 1 : sur toutes les cellules cf de la plage pf
For Each cr In pr 'boucle 2 : sur toutes les cellules cr de la plage pr
If cr.Value = cf.Value Then 'condition : si les deux cellules sont identiques
cf.Font.ColorIndex = 2
Exit For 'sort de la boucle 2
Else: cf.Font.ColorIndex = 1
End If 'fin de la condition
Next cr 'prochaine cellule cr de la boucle 2
Next cf 'prochaine cellule cf de la boucle 1
End With 'fin de la prise en compte de l'onglet
End Sub
Dernière édition: