XL 2016 Remplacer des caractère

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AdrienSLAP

XLDnaute Nouveau
Bonjour, je rencontre un soucis dans mon fichier excel j'ai créer (non sans l'aide de ce forum) un code permettant de remplacer les apostrophe " ' " par "(bis)" automatique lorsque que l'on nomme un onglet, mais maintenant que j'ai ajouter une seconde ligne pour remplacer également les slashs "/ " par des "%"; la première ligne elle ne remplace plus les apostrophes.
Voici le code en question :

Private Sub Worksheet_Activate()
If Sheets("Données CSV").Range("E8") = "" Then
ActiveSheet.Name = "Collone 1"
Else
NomFeuille = Replace(Sheets("Données CSV").Range("E8"), "'", "(bis)")
NomFeuille = Replace(Sheets("Données CSV").Range("E8"), "/", "%") (Voici la ligne rajouter, sans celle ci le code marche parfaitement bien)
ActiveSheet.Name = NomFeuille
End If
End Sub

Quelqu'un aurait une idée de la raison de mon problème ? Merci d'avance.
 
Bonjour AdrienSLAP, M12,

Il suffit de faire en sorte qu'il y ait 2 modifications successives, il n'y a aucun problème en utilisant :
Code:
Private Sub Worksheet_Activate()
If Sheets("Données CSV").Range("E8") = "" Then
    ActiveSheet.Name = "Collone 1"
Else
    nomfeuille = Replace(Sheets("Données CSV").Range("E8"), "'", "(bis)")
    nomfeuille = Replace(nomfeuille, "/", "%")
    ActiveSheet.Name = nomfeuille
End If
End Sub
Testez avec 15/06/2020' en Données CSV!E8.

A+
 
bonjour à tous
VB:
ActiveSheet.Name = Replace(Replace(Sheets("Données CSV").Range("E8"), "'", "(bis)"), "/", "%")

et si je pousse un peu plus loin
VB:
With Sheets("Données CSV")
    ActiveSheet.Name = Array(Replace(Replace(.Range("E8"), "'", "(bis)"), "/", "%"), "Collone 1")(Abs(.Range("E8") = ""))
End With
 
Perso je me contenterai de ceci :
VB:
Private Sub Worksheet_Activate()
nomFeuille = Replace(Replace(Sheets("Données CSV").Range("E8"), "'", "(bis)"), "/", "%")
Name = IIf(nomFeuille = "", "Collone 1", nomFeuille)
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
459
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
247
Retour