Je cherche à modifier la macro ci-dessous afin qu'elle prenne également en compte les cellules contenant du texte avant ou après les guillemet.
Actuellement la macro ne supprime les guillemets et le texte entre les guillemet que dans les cellule ne contenant pas de texte avant ou après ses guillemets.
Sub Guillemet()
'Suppression de tout les textes contenu entre crochet
For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
c = c.Replace("[*]", "")
Next c
Pour tâcher de comprendre ce que votre code avait de bizarre, déclarez (comme c'est normal) la variable c :
Code:
Sub Guillemet()
Dim c As Range
'Suppression de tout les textes contenu entre crochet
For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)
c = c.Replace("[*]", "")
Next c
End Sub
Surtout renseignez-vous dans l'aide VBA ou sur le web sur la méthodeReplace.
Edit : quand vous ne déclarez pas la variable c elle est de type Variant.
Dans le code c = c.Replace("[*]", "") :
- l'expression à droite du signe = modifie (ou non) l'objet (la cellule) c
- cette expression renvoie la valeur True (VRAI) et le signe = convertit l'objetc en variable booléenne, ce qui fait que la valeur de la cellule ne change pas.