XL 2016 RESOLU Extraction plages IP d'une cellule

richard31

XLDnaute Occasionnel
Bonjour!

J'ai dans une cellule A1 une plage IP écrite de ce type:
122.129.1.1-122.129.1.62
J'aimerai récupérer en B1 l'adresse 132.149.1.1 et en C1 l'adresse 132.149.1.62
je sais qu'il faut jouer avec les options CHERCHE et le séparateur - et donc prendre ce qu'il y à a droite et à gauche. mais sachant que une IP peut être de 1 digit jusqu'a 3 digit j'y arrive pas.
j'ai fais ça =STXT(A1;1;CHERCHE(".";A1;CHERCHE(".";A1)+1)+CHERCHE(".";A1)) qu prend correctement la partie de gauche mais comment faire avec celle de droite ???

Le but de toute ça est de pouvoir vérifier si une adresse ip se trouve dans la plage IP. Peut être que l'on peut faire autrement et rechercher dans cette cellule qui contient la plage 122.129.1.1-122.129.1.62 ? Par exemple recherche si l'ip 122.129.1.3 est bien dans la plage 122.129.1.1-122.129.1.62 (donc rechercher si l'ip 122.129.1.3 est dans la plage de 122.129.1.1 à 122.129.1.62 ) qui se trouve dans A1 ? C'est possible ça ??

Merki d'avance !
 

Efgé

XLDnaute Barbatruc
Bonjour
Pour l'extraction simple:
Partie gauche:
VB:
=GAUCHE(A1;TROUVE("-";A1)-1)
Partie droite:
Code:
=STXT(A1;TROUVE("-";A1)+1;NBCAR(A1))
Cordialement
 

Efgé

XLDnaute Barbatruc
Re
Un essai pour la vérification de l'existence dans la plage
Avec la plage de base en $A$1 et l'IP à tester en $B$2:
VB:
=ET(SUBSTITUE(B2;".";"")>=SUBSTITUE(GAUCHE(A1;TROUVE("-";A1)-1);".";"");SUBSTITUE(B2;".";"")<=SUBSTITUE(STXT(A1;TROUVE("-";A1)+1;NBCAR(A1));".";""))
Cordialement

EDIT
Je pense que ça ne fonctionne pas….
 

richard31

XLDnaute Occasionnel
Bonjour
Pour l'extraction simple:
Partie gauche:
VB:
=GAUCHE(A1;TROUVE("-";A1)-1)
Partie droite:
Code:
=STXT(A1;TROUVE("-";A1)+1;NBCAR(A1))
Cordialement
Merci ! trop fort et apparemment facile ! je trouvais pas ^^
 

richard31

XLDnaute Occasionnel
Re
Un essai pour la vérification de l'existence dans la plage
Avec la plage de base en $A$1 et l'IP à tester en $B$2:
VB:
=ET(SUBSTITUE(B2;".";"")>=SUBSTITUE(GAUCHE(A1;TROUVE("-";A1)-1);".";"");SUBSTITUE(B2;".";"")<=SUBSTITUE(STXT(A1;TROUVE("-";A1)+1;NBCAR(A1));".";""))
Cordialement

EDIT
Je pense que ça ne fonctionne pas….
Si ça fonctionne apparemment ! Impressionné !! mais la je la comprend pas trop va falloir que je l'étudie ^^

merci!
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

Personne pour suggérer l'emploi de Données/Convertir ?
(paramétré comme suit séparateur: Autre[x] et saisir un tiret )
Personne vraiment?
Ah, si, moi mais il est déjà top tard ;)
 

richard31

XLDnaute Occasionnel
Bonjour le fil,

Personne pour suggérer l'emploi de Données/Convertir ?
(paramétré comme suit séparateur: Autre[x] et saisir un tiret )
Personne vraiment?
Ah, si, moi mais il est déjà top tard ;)
ha ben oui bien plus simple ^^
Sauf pour la recherche mais merci ! c"était facile en fait
 

richard31

XLDnaute Occasionnel
J'ai trouvé comment faire avec plusieurs formules que j'ai ensuite imbriquée. Supposons que la plage Ip se trouve en A2 du type :
132.149.174.230-132.149.174.233
Voici la formule qui décompose cette plage et la transforme en chiffres pour ensuite pouvoir rechercher une IP EN B2 transformée aussi en chiffre :

=SI(SUBSTITUE(B2;".";"")<SUBSTITUE(GAUCHE(A2;NBCAR(A2)-CHERCHE("-";A2));".";"");"IP NON PRISE EN CHARGE";SI(SUBSTITUE(B2;".";"")>SUBSTITUE(DROITE(A2;NBCAR(A2)-CHERCHE("-";A2));".";"");"IP NON PRISE EN CHARGE";"IP PRISE EN CHARGE"))

Je suis capable de recherche une IP située en B2 sur une plage écrite en A2 dans une cellule séparée par un "-".
 

Discussions similaires


Haut Bas