Adresse IP incrémenter

G

GM

Guest
Bonsoir tous et toutes,

une aide me serais bien utile voici le résultat que je souhaite obtenir

J'ai une association d'adresse IP à afficher automatiquement la
passerelle dans un fichier excel .

si je met Exp: en (A1) 10.1.2.1 pour obtenir (A3) 10.1.3.254 dans cette autre cellule. La commande replace ne marche pas car je n'ai pas de champ fixe

exemple une autre adresse peut être 10.101.123 26 auquel cas la passerelle sera 10.101.124.254. Je dois donc faire systematiquement +1 sur le 3eme champ et mettre 254 a la fin, quelle est la bonne formule pouvant être adapter ici

J'espere avoir été claire dans mes explications

@ Gérard
 
@

@+Thierry

Guest
Bonsoir Gérard

Euf j'ai été boire un pot avec des amis... Non c'est pas le soir pour moi !...
Mais tu dois trouver des générateurs d'IP tout prèts non ?

Hey last 2002 Week End !!
Que ce soit kool for all
@+Thierry
 
J

Jean-Marie

Guest
Bonjour GM et le forum

J'ai eu du mal à comprendre la question...

J'espère l'avoir compris !.

Je te propose cette solution, qui est assez complexe à déchiffrer.

1er partie : décomposition de la chaîne, pour ne garder que la partie à ne pas modifier.

2ème partie : à partir de la longueur de texte de la partie non variable, isolé le 3ème champ, le transformer en numérique, l'incrémenter et le transformer à nouveau en texte

dernière opération : concatener les deux parties isolées et mettre au bout le 4ème champ (".254")

Suggestion : du devrait mettre ce champ en constante dans une cellule, pour éviter la modification de tes formules ultérieurement

La fonction est réalisable aussi en VBA.

@+Jean-Marie
 

Pièces jointes

  • adresseIP.xls
    13 KB · Affichages: 283
G

GM

Guest
Bonjour Jean-Marie,

Alors sur ce coup ton fichier exemple me convient parfaitement ce genre de formule est complexe a mettre en oeuvre et franchement je ne savait pas comment et par ou débuter
tu écrit que cette fonction est aussi réalisable en VBA. Si ce n'est pas trop pousser le bouchon, là tu aiguise ma curiosité

Merci

Gérard
 
T

Ti

Guest
Pour alimenter la rubrique "plusieurs solutions pour un même problème", voici une autre façon de faire, par macro, peut-être plus facile à modifier au cas où.

Function AdresseIP(ByVal IP As String) As String
'Ti
Dim Digit As String
Do While Right(IP, 1) <> "."
IP = Left(IP, Len(IP) - 1)
Loop
IP = Left(IP, Len(IP) - 1)

Do While Right(IP, 1) <> "."
Digit = Right(IP, 1) & Digit
IP = Left(IP, Len(IP) - 1)
Loop
AdresseIP = IP & Val(Digit) + 1 & ".254"
End Function
 
G

GM

Guest
Bonsoir Jean-Marie, @+ Thierry, Ti, et le forum

Wouah! Ti, je me demande toujours sur quel site nous sommes tu as l'art et la manière de nous concocter des fonctions simple et efficace lors des demandes d'aide sur certain sujet bien particuliers, encore merci pour celle-ci que je vais me mettre dans mon classeur perso merci aussi à tous les autres qui mon apporter leur aide

@+ Gérard
 

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400