VBA nom=un autre nom

Bonjour à tout le forum

Je vais essayer d'expliquer mon problème le plus simplement possible.

Dans la cellule A1 est inscrit le nom du client : Leclerc (dans ce cas précis)

Il y a des centaines de pages de programmation et de macro, qui font référence à cette cellule A1 et si le client s'appelle Leclerc comme dans ce cas précis, l'évolution des macros et des programmes évoluent totalement différemment que si c'était un autre nom comme "X" ou "Y".

Aujourd'hui je dois rentrer un nouveau nom comme "carrefour" (dans ce cas) et qui exceptionnellement doit avoir les mêmes fonctions que Leclerc.

Dans ma situation, cela demande trop de travail et de risque à modifier toutes les macros avec des fonctions "or".

Ma question:

Peut-on dire en vba en 1 fois : s'il y est marqué "Carrefour" alors le vba doit comprendre le mot "leclerc"

exemple pour une macro simplifiée:

en A1: carrefour

if range ("a1")="leclerc" then msgbox "ok"

dans ce cas j'aimerai que la fonction soit vrai (leclerc et carrefour sont finalement le même nom) et donc voir le message "ok"

Merci, j'attends avec hâte votre réponse

Bonjour zumye

Il faudra bien à un moment ou l'autre créer un liste de noms valides.

Pour "limiter la casse" tu peux faire:

Sub test()
Dim Liste As String

Liste = ",Leclerc,Carrefour,"

If InStr(UCase(Liste), UCase("," & Range("$A$1") & ",")) > 0 Then
    MsgBox "OK", 64, "Résultat"
Else
    MsgBox "Pas OK", 64, "Résultat"
End If
End Sub

Cordialement

merci pour la réponse que je comprends mais dans ce cas je vais avoir plus d'une centaine de modification à apporté et je risque surtout de faire des erreurs.

DOnc il n'existe pas une fonction simple ...

Re

La seule fonction "simple" qui existe est de prévoir correctement son code pour éviter d'avoir "une centaine" de modification à effectuer à chaque ajout de magasin....

Cordialement

le problème est que ce cas tombe 7 ans après donc ce n'était pas réellement prévu.

Merci quand même

Re

Je ne vois pas le problème,

Tu mets dans un module standart :

Public Const Liste As String = ",Leclerc,Carrefour,"

Ensuite tu vas dans tes macros, tu tape Ctrl + F

Tu choisis"Remplacer"

Tu selectionne "Projet en cours"

dans rechercher tu tape "if range ("a1")="leclerc" then"

dans "Remplacer par" tu tapes: "If InStr(UCase(Liste), UCase("," & Range("$A$1") & ",")) > 0 Then"

tu valide par "remplacer" et c'est fait....

Cordialement

Rechercher des sujets similaires à "vba nom"