Bonjour,
Ton meilleur ami est l'enregistreur de macros
1) Tu sélectionnes la plage C9:T24 de la feuille [Plan SGL]
2) Tu actives l'enregistreur de macros et tu utilises le raccourci Ctrl+H (Outils Rechercher/Remplacer)
3) Opération à faire dans la boîte de dialogue Rechercher/Remplacer
a) Dans la zone Rechercher tu tapes N et dans la zone remplacer 0
b) Tu cliques sur le boutons Options et tu actives l'option mot entier (pour éviter de remplacer le N de Bonjour par exemple) et éventuellemnt l'option respecter la casse.
c) Tu cliques sur OK
4) Tu arrêtes l'enregistreur
5) Tu vas dans l'éditeur VBE (Alt+F11) et tu découvres le code ci-dessous
Code:
1 2 3 4 5
| Sub Macro1()
Selection.Replace What:="N", Replacement:=0, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
End Sub |
6) Tu modifies Selection par Sheets("Plan SGL").Range("C9:T24")
et tu obtiens ton nouveau code
Code:
1 2 3 4 5
| Sub Macro2()
Sheets("Plan SGL").Range("C9:T24").Replace What:="N", Replacement:=0, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
End Sub |
Comme tu es quelqu'un qui pense à l'avenir et que tu te dis que certainement prochainement tu seras confronté à un nouveau remplacement d'autres valeurs et sur d'autres plages, tu te construis une procédure comme ci-dessous.
Code:
1 2 3 4 5
| Sub FindReplace(Rng As Range, SearchWhat As Variant, ReplaceBy As Variant)
Rng.Replace What:=SearchWhat, Replacement:=ReplaceBy, LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
End Sub |
Que tu appelles par exemple avec cette procédure qui remplace deux plages de deux feuilles différentes
Code:
1 2 3 4
| Sub TestFindReplace()
FindReplace Sheets("Feuil1").Range("B2:C11"), "O", "Yes"
FindReplace Sheets("Feuil3").Range("C8:D17"), "Bonjour", "Au revoir"
End Sub |
Bon la procédure peut être mieux paramétrée mais cela donne une idée de ce que l'on peut faire
[EDIT]Désolé Frédéric mais pendant que j'écrivais mon post, j'ai été détourné de mes activités et je viens de voir que tu avais donné la même réponse.