Remplacement d'une chaine de caractères en VB

Résolu/Fermé
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - Modifié le 29 nov. 2018 à 22:07
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 30 nov. 2018 à 07:48
Bonsoir le forum.

Je souhaiterais, dans une sélection de cellules, remplacer le contenu de toutes les cellules contenant au moins 5 caractères par le mot "oui", en VB.

J'imagine que je dois combiner "LEN" et "REPLACE".
Du genre :
Selection.Replace What:=LEN>5, Replacement:="oui"


Puis-je vous demander un peu d'aide svp ?

Par avance merci !

Configuration: Windows / EXCEL 2013 / Firefox 63.0
A voir également:

2 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
30 nov. 2018 à 00:02
Bonsoir

Tu peux faire quelque chose du genre :
plage=ActiveSheet.Range("A1:B20") 'Adapter la définition dela plage à ton fichier
for each cell in plage
If lLen(cell.value)>=5 then cell.value="oui"
Next 


Cdlmnt
Via
1
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
30 nov. 2018 à 07:48
Bonjour Via

Merci bien pour ta réponse.
Effectivement cette syntaxe fonctionne.

Juste pour info pour ceux qui passeraient par ici, cette macro s'applique à une zone nommée, voici la macro définitive.

Sub MacroRemplace()
For Each cell In Range("MaZoneNommee")
If Len(cell.Value) >= 5 Then cell.Value = "oui"
Next
End Sub


Bonne journée et merci encore.
0