j'ai une feuille nommé "TP1" avec dedans du code qui utilise une autre "feuille Base de données" qui dans une cellule prends le nom de l'onglet actif.
Le problème :
Si je demande de faire "Déplacer ou copier" et en l'occurrence "copier" de cette feuille "TP1" pour que le code de cette feuille soit inclus dans cette nouvelle feuille, et donc utilise la même BDD, une nouvelle copie est créée et intitulée automatiquement : "TP1 (2)".
Du coup, la parenthèse ou l'espace font planter mes macros inclus dans le code de la feuille, qui font appel au nom de la feuille.
Si manuellement je supprime l'espace et la parenthèse, tout refonctionne, mais je voudrais le faire de manière automatique !!
Quand je renomme cette onglet de "TP1 (2)" en "TP1_2" tout refonctionne !!!
Donc, comment supprimer les espaces du nom d'un onglet en les remplaçant par _ ?
Sub NettoieNomOnglet()
For Each F In Worksheets
If F.Name Like "* (*" Then
Sheets(F.Name).Name = Replace(Replace(F.Name, " (", "_"), ")", "")
End If
Next F
End Sub