VALIDITER D'UNE ADRESSE IP

SeeNapse Messages postés 33 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 18 mai 2004 - 23 févr. 2003 à 10:29
J6B Messages postés 11 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 4 septembre 2006 - 24 févr. 2007 à 10:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6224-validiter-d-une-adresse-ip

J6B Messages postés 11 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 4 septembre 2006
24 févr. 2007 à 10:38
Un bon conseil, au lieu de faire des Mid,Left et Right dans tous les sens : la fonction Split fait merveille dans un code comme celui-ci.
cs_blabla Messages postés 112 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 13 mars 2004
16 déc. 2003 à 21:45
kler ;) merci d'avance
cs_Mithrandir Messages postés 2 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 23 février 2003
23 févr. 2003 à 18:22
on prefere
AtomWare Messages postés 71 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 11 novembre 2004
23 févr. 2003 à 14:01
si vous preferez, je peux poster une source, au lieu de mettre dans un comment. Faites moi savoir ce que vous preferez.
AtomWare Messages postés 71 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 11 novembre 2004
23 févr. 2003 à 14:00
'J'avais besion de cette source, mais en plus ameliorée
'il me fallait que ca verifie le port, si il y'en a un.
'Donc, je l'ai naturelement ameliorée. La voici :
' (copiez le code dans une form vide pour tester)
'____________________________________________________________

Private Sub Form_Load()
msgbox ValideIP("212.239.196.86:4662") 'Affiche un msgbox avec False si invalide, True si valide
End Sub

Public Function ValideIP(Texte As String) As Boolean
Dim Br1 As String, Br2 As String, Br3 As String, Br4 As String, BrPort As String 'Declaration de vaiables
If InStr(Texte, ":") <> 0 Then 'Recherche si un port est present, si oui, met le port dans la variable "brport" et l'ip normale dans texte2, sinon, copie texte dans text2
BrPort = Mid(Texte, InStr(Texte, ":") + 1, Len(Texte) - InStr(Texte, ":") + 1) 'Decoupe l'ip en 2 : BrPrt pour le port
Texte2 = Mid$(Texte, 1, Len(Texte) - (Len(Texte) - InStr(Texte, ":") + 1)) ' et texte2 pour l'ip sans le port
ElseIf InStr(Texte, ":") = 0 Then ' Si port pas present, alors simplement met texte dans texte2
Texte2 = Texte
End If

If InStr(Texte2, ".") 0 Then ValideIP False: Exit Function 'Decoupe chaque partie de l'ip normale
Br1 = Mid(Texte2, 1, InStr(Texte2, ".") - 1)
Br2 = Mid(Texte2, Len(Br1) + 2, (Len(Texte2) - InStr(Texte2, ".")) + 1)
Br2 = Left(Br2, InStr(Br2, ".") - 1)
Br3 = Mid(Texte2, Len(Br1) + Len(Br2) + 3, Len(Texte2))
Br3 = Left(Br3, InStr(Br3, ".") - 1)
Br4 = Mid(Texte2, Len(Br1) + Len(Br2) + Len(Br3) + 4, Len(Texte2))

If IsNumeric(Br1) False Or IsNumeric(Br2) False Or IsNumeric(Br3) = False Or IsNumeric(Br4) = False Then ValideIP = False: Exit Function 'Verifie si ce sont bien des chiffres
If Not (CInt(Br1) >= 0 And CInt(Br1) <= 255) Or Not (CInt(Br2) >= 0 And CInt(Br2) <= 255) Or Not (CInt(Br3) >= 0 And CInt(Br3) <= 255) Or Not (CInt(Br4) >= 0 And CInt(Br4) <= 255) Then ValideIP = False: Exit Function 'Verifie si ils sont inferieurs à 255
ValideIP = True 'Ok, c bon
If BrPort <> "" Then 'nom verifie le port, si il y'en a un
If IsNumeric(BrPort) False Then ValideIP False 'numerik ou pas ?
If Val(BrPort) >= 0 And Val(BrPort + 1 & "a") <= 65536 Then ValideIP = True Else ValideIP = False 'Compris entre 6556 et 0 ?
End If
Exit Function 'Quite la fonction

MarchePas: 'Si erreur, alors va ici
ValideIP = False
End Function

'____________________________________________________________
SeeNapse Messages postés 33 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 18 mai 2004
23 févr. 2003 à 10:29
Justement je cherchais un système pour vérifier les IP de serveur. Je ne sais po si ça marche mais c'est une bonne idée.
Rejoignez-nous