Excel VBA - Like

  • Auteur de la discussion Guillaume831
  • Date de début

Guillaume831

Nouveau membre
Bonjour les gens,

Quelqu'un a t'il une idée de pourquoi, ma macro ne marche pas? Voici le code :

Code:
Sub SCNoContrat()

Dim NC As String, NCInvite As String, NCLegende As String

NCLegende = "Numéro de contrat"
NCInvite = "Rentrer la référence du contrat"
NCInvite = NCInvite & vbNewLine
NCInvite = NCInvite & "sous le format XXXXMUN-XXX" ' où X est un chiffre

NC = Val(InputBox(NCInvite, NCLegende))

If NC Like "####" & "MUN-" & "###" Then
    MsgBox "Correct"
    Else: MsgBox "Respectez le format"
End If


End Sub

En effet quand je rentre 1234MUN-567 dans mon InputBox, ça me sort "Respectez le format" !!

Merci!
 

Sylvain37

Grand Maître
Bonjour,

Si tu rentres ####MUN-### ça n'afficherait pas Correct par hasard ? :)
 

Sylvain37

Grand Maître
Et avec ça ?
Code:
Sub SCNoContrat()

Dim NC As String, NCInvite As String, NCLegende As String

NCLegende = "Numéro de contrat"
NCInvite = "Rentrer la référence du contrat"
NCInvite = NCInvite & vbNewLine
NCInvite = NCInvite & "sous le format XXXXMUN-XXX" ' où X est un chiffre

NC = Val(InputBox(NCInvite, NCLegende))

If NC Like "####" & "MUN-" & "###"
    Then: MsgBox "Correct"
    Else: MsgBox "Respectez le format"
End If


End Sub
 

Sylvain37

Grand Maître
A vrai dire le VB je ne connais pas et ce n'est pas mon kiff (tout comme les autres codes). J'essayais juste de t'aider à avancer... :spamafote:
 

Guillaume831

Nouveau membre
Hey mec, t'es le seul à avoir répondu, alors crois-moi que j'apprécie beaucoup ce que t'as pu essayer! :)
 

LudoTools

Expert
'lut! tout l'monde...

Val : Renvoie le nombre contenu dans une chaîne de caractère sous la forme d'une valeur numérique d'un type approprié.
Syntaxe : Val(string)
L'argument string peut être n'importe quelle expression de chaîne.
Remarques : La fonction Val arrête la lecture de la chaîne au premier caractère ne faisant apparemment pas partie d'un nombre.
Dans ton cas, elle s'arrête dès le premier caractère de "NUM-"... et si toutefois elle allait plus loin, je me demande si elle ne ferait pas : 1234 (MUN est sauté) - (interprété comme "moins") 567 (= 667)... mais là, je doute.

amha, il faut isoler le tiret, pour qu'il soit interprété comme un caractère spécial...
Peut être qu'avec If NC Like "####MUN[-]###" ça roulerait ?... non ?
 

LudoTools

Expert
De rien, merci :sol:
c'était juste pour essayer de "faire la pige" à Zeb... au moins une fois dans ma vie :D
 

zeb

Modérateur
Ouhais ben c'est réussi pour la pige :kaola: :kaola: :kaola:
Guillaume831 n'avais qu'à publier au bon endroit :o
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 126
Messages
6 717 807
Membres
1 586 365
Dernier membre
matiOs1
Partager cette page
Haut