Meuh non ! Si tu dois faire appel à cette procédure pour plusieurs colonnes, tu en fais une sub à laquelle tu envoies les paramètres NoColonne, NoPremièreLigne, et ValCherchée
Et, dans la macro qui appelle, tu crées un tableau pour chaque paramètre (c'est le plus simple à remplir) tu places les N° de colonnes, NoPremièreLigne et valCherchée dans tes 3 tableaux et tu fais une boucle sur la dimension de ton tableau
Et pour ta LaMacroQuiFaitTout tu faisCode:
1
2
3
4
5
6 LeTableauColonne = array(4, 7, 8, 9) ' N° des colonnes LeTableauLigne = array(20, 24, 27, 12) ' N° de première ligne de la plage de recherche pour les colonnes du LeTableauColonne LeTableauValeur(0, 5, 7, 8) 'Valeurs cherchées For i = 0 to ubound(LeTableauColonne) LaMacroQuiFaitTout (LeTableauColonne(i), LeTableauLigne(i), LeTableauValeur(i)) Next
Essaie ça, ça ne coûte rien et ça peut t'éclairerCode:Sub LaMacroQuiFaitTout(NoColonne, NoPremièreLigne,ValeurCherchée)
A+Code:
1
2
3
4
5
6
7 Sub AppelLaMacroQuifaittout() LaMacroQuifaittout ("T'as compris ?") End Sub Sub LaMacroQuifaittout(LeMot) MsgBox LeMot End Sub
NB - N'oublie pas de supprimer la déclaration de variable NoColonne, NoPremièreLigne,ValeurCherchée et l'affectation de valeurs dans LaMacroQuifaittout
Dans mon exemple, tu ne peux pas modifier la valeur de "LeMot"
A toutes fins utiles et si tu savais pas ;)