If ne fonctionne pas correctement

bonjours a tous

je revient vers vous pour m'aider a trouver ma faute et merci d'avance

le principe est d'insérer la nouvelle feuille avant la feuille (COMA YY) si le nom de la nouvelle feuille commence par (COMA)

sinon copier avant la feuille ( Clients XX).

a l'exécution la nouvelle feuille est insérée avant la feuille (Clients XX) quelque soit le nom donnée.

Dim VALEUR As String

'ajouter une nouvelle Feuille et la nommer d'après le choix de l'utilisateur

VALEUR = InputBox("Veuillez Entrer Le Nom Du Nouveau Client SVP", "Ajouter Client")

If VALEUR = ("COMA *") Then

Sheets.Add(Before:=Sheets("COMA YY")).Name = VALEUR

Else

Sheets.Add(Before:=Sheets("Client XX")).Name = VALEUR

End If

Bonjour,

Avec If VALEUR = "COMA *", il faudra exactement "COMA *" comme chaîne, il faut utiliser l'opérateur Like: https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/like-operator

Ce qui donnera: If VALEUR Like "COMA *" Then

Merci Ausecour

j'ai remplacer le "=" par "like" mais ca bloc sur la ligne

"Sheets.Add(Before:=Sheets("COMA YY")).Name = VALEUR"

avec le message "l'indice n'appartient pas a la sélection"

Bonjour,

Je pense que c'est parce que ça ne trouve pas la feuille "COMA YY", est-ce qu'elle existe dans le classeur?

Bonjour,

Sheets.Add.name me semble des plus bizarre !

Peut-être

With Sheets.Add(Before:=Sheets("COMA YY"))
.Name = "VALEUR"
End with

quel est le message d'erreur ?

Bonjour,

Sheets.Add.name me semble des plus bizarre !

Peut-être

With Sheets.Add(Before:=Sheets("COMA YY"))
.Name = "VALEUR"
End with

quel est le message d'erreur ?

Ah oui je n'avais pas fait attention au .Name, ça pose sûrement problème, on peut également faire:

Set feuille = Sheets.Add(Before:=Sheets("COMA YY"))
feuille.Name = "VALEUR"
Rechercher des sujets similaires à "fonctionne pas correctement"