OVH Cloud OVH Cloud

Encore un problème sur un format de cellule

13 réponses
Avatar
Troxsa
Bonjour a tous


Voila je me suis fait une format personnel de cellule
qui est 00#"."00#"."00#"."00#
c'est pour des adresses IP (un classement)
dans un tableau j'ai pres de 4500 IP que je souhaite mettre au format
010.001.100.001
mais ça ne fonctionne pas !
je met ma cellule en format 00#"."00#"."00#"."00# je fait une entrée de
donnée et la sa fonctionne

quand c'est une nouvelle entrée ça fonctionne tres bien, mais quand c'est
une entrée deja existante sa ne fonctionne pas :(

merci si vous avez une idé

@+

10 réponses

1 2
Avatar
ru-th
Salut
n'aurait tu pas des . (points) dans tes entées existantes ?
poses ton format perso
edition rechercher . (pont) remplacer (rien) remplacer tout

a+
rural thierry
"Troxsa" a écrit dans le message de news:
bvdt46$m1i$
Bonjour a tous


Voila je me suis fait une format personnel de cellule
qui est 00#"."00#"."00#"."00#
c'est pour des adresses IP (un classement)
dans un tableau j'ai pres de 4500 IP que je souhaite mettre au format
010.001.100.001
mais ça ne fonctionne pas !
je met ma cellule en format 00#"."00#"."00#"."00# je fait une entrée de
donnée et la sa fonctionne

quand c'est une nouvelle entrée ça fonctionne tres bien, mais quand c'est
une entrée deja existante sa ne fonctionne pas :(

merci si vous avez une idé

@+




Avatar
Troxsa
Oui mais le probleme qui ce pose maintenant c'est que ça rensemble plus a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les points j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000



merci pour ton aide

@+++
Avatar
ru-th
Salut

Appliquer ton format au préalable
et selectionnes les cellules à modifier au préalable
Sub test()
For Each c In Selection
tableau = Split(c, ".")
For I = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(I))) & tableau(I)
Next I
c.Value = rep
Next c
End Sub


a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Troxsa" a écrit dans le message de
news:bvdvem$n52$
Oui mais le probleme qui ce pose maintenant c'est que ça rensemble plus a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les points j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000



merci pour ton aide

@+++




Avatar
C15
Bonsoir,

Pourquoi ne prends-tu pas le format 000.000.000.000 ?

J'ai essayé a priori cela marche autant sur les saisies déjà faites que sur
les nouvelles.

A+

C15
"Troxsa" a écrit dans le message de
news:bvdvem$n52$
Oui mais le probleme qui ce pose maintenant c'est que ça rensemble plus a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les points j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000



merci pour ton aide

@+++




Avatar
Frédéric Sigonneau
Bonsoir,

Et pourquoi pas une fonction perso VBA à base de l'inépuisable Split, déjà
utilisée par Thierry dans sa proposition (qui produit chez moi des résultats en
escaliers du plus bel effet, mais pas sûr que 'Troxsa' en demandait autant !) ?
(Excel 2000 au moins requis, mais contournements possible pour Excel 97) :

Function MesIP(S)
For i = LBound(Split(S, ".")) To UBound(Split(S, "."))
MesIP = MesIP & Format(Split(S, ".")(i), "000") & "."
Next
MesIP = Left(MesIP, 15)
End Function

Et dans une feuille de calcul où tes adresses IP sont, dans leur forme actuelle,
disons en colonne A, tu saisis en B1

=MesIP(A1)

et tu tires vers le bas autant que de besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Oui mais le probleme qui ce pose maintenant c'est que ça rensemble plus a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les points j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000

merci pour ton aide

@+++


Avatar
ru-th
;-))


j'avais oublié de vider rep
rep = ""

pour une fois que j'utilisais split !
mais c'est vrai que l'aspect pyramide était très joli ! ;-))

Sub test()
For Each c In Selection
tableau = Split(c, ".")
For I = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(I))) & tableau(I)
Next I
c.Value = rep
rep = ""
Next c
End Sub



a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Et pourquoi pas une fonction perso VBA à base de l'inépuisable Split, déjà
utilisée par Thierry dans sa proposition (qui produit chez moi des
résultats en

escaliers du plus bel effet, mais pas sûr que 'Troxsa' en demandait autant
!) ?

(Excel 2000 au moins requis, mais contournements possible pour Excel 97) :

Function MesIP(S)
For i = LBound(Split(S, ".")) To UBound(Split(S, "."))
MesIP = MesIP & Format(Split(S, ".")(i), "000") & "."
Next
MesIP = Left(MesIP, 15)
End Function

Et dans une feuille de calcul où tes adresses IP sont, dans leur forme
actuelle,

disons en colonne A, tu saisis en B1

=MesIP(A1)

et tu tires vers le bas autant que de besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Oui mais le probleme qui ce pose maintenant c'est que ça rensemble plus
a


des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les points
j'ai


maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000

merci pour ton aide

@+++





Avatar
Frédéric Sigonneau
Re Thierry,

Il faut également penser à re-séparer les éléments de l'adresse avec des points,
ce qui peut donner (avec un IIf quand même plus élégant que mon Left(sss,15) :

Sub test()
For Each c In Selection
tableau = Split(c, ".")
For i = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(i))) & _
tableau(i) & IIf(i < 3, ".", "")
Next i
c.Value = rep
rep = ""
Next c
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


;-))

j'avais oublié de vider rep
rep = ""

pour une fois que j'utilisais split !
mais c'est vrai que l'aspect pyramide était très joli ! ;-))

Sub test()
For Each c In Selection
tableau = Split(c, ".")
For I = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(I))) & tableau(I)
Next I
c.Value = rep
rep = ""
Next c
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Et pourquoi pas une fonction perso VBA à base de l'inépuisable Split, déjà
utilisée par Thierry dans sa proposition (qui produit chez moi des
résultats en

escaliers du plus bel effet, mais pas sûr que 'Troxsa' en demandait autant
!) ?

(Excel 2000 au moins requis, mais contournements possible pour Excel 97) :

Function MesIP(S)
For i = LBound(Split(S, ".")) To UBound(Split(S, "."))
MesIP = MesIP & Format(Split(S, ".")(i), "000") & "."
Next
MesIP = Left(MesIP, 15)
End Function

Et dans une feuille de calcul où tes adresses IP sont, dans leur forme
actuelle,

disons en colonne A, tu saisis en B1

=MesIP(A1)

et tu tires vers le bas autant que de besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Oui mais le probleme qui ce pose maintenant c'est que ça rensemble plus
a


des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les points
j'ai


maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000

merci pour ton aide

@+++







Avatar
ru-th
Certes
mais comme il appliquait un format particulier 00#".#00#"."....
point ne les avais remis,
mais ta solution est plus élégante ;-)
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le message
de news:
Re Thierry,

Il faut également penser à re-séparer les éléments de l'adresse avec des
points,

ce qui peut donner (avec un IIf quand même plus élégant que mon
Left(sss,15) :


Sub test()
For Each c In Selection
tableau = Split(c, ".")
For i = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(i))) & _
tableau(i) & IIf(i < 3, ".", "")
Next i
c.Value = rep
rep = ""
Next c
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


;-))

j'avais oublié de vider rep
rep = ""

pour une fois que j'utilisais split !
mais c'est vrai que l'aspect pyramide était très joli ! ;-))

Sub test()
For Each c In Selection
tableau = Split(c, ".")
For I = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(I))) & tableau(I)
Next I
c.Value = rep
rep = ""
Next c
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le
message


de news:
Bonsoir,

Et pourquoi pas une fonction perso VBA à base de l'inépuisable Split,
déjà



utilisée par Thierry dans sa proposition (qui produit chez moi des
résultats en

escaliers du plus bel effet, mais pas sûr que 'Troxsa' en demandait
autant



!) ?
(Excel 2000 au moins requis, mais contournements possible pour Excel
97) :




Function MesIP(S)
For i = LBound(Split(S, ".")) To UBound(Split(S, "."))
MesIP = MesIP & Format(Split(S, ".")(i), "000") & "."
Next
MesIP = Left(MesIP, 15)
End Function

Et dans une feuille de calcul où tes adresses IP sont, dans leur forme
actuelle,

disons en colonne A, tu saisis en B1

=MesIP(A1)

et tu tires vers le bas autant que de besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Oui mais le probleme qui ce pose maintenant c'est que ça rensemble
plus




a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les
points




j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000

merci pour ton aide

@+++











Avatar
Frédéric Sigonneau
Oups, je n'avais pas pris la peine de reprendre la ficelle depuis le début.
Désolé :(
Elégant, nous sommes d'accord, mais inutile.. Une fois de plus, le mieux est
l'ennemi du bien. En guise de pénitence, j'irai à genoux de ta grange à ta mare,
sans passer par ta cave, la prochaine fois que je passerai par Angers.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Certes
mais comme il appliquait un format particulier 00#".#00#"."....
point ne les avais remis,
mais ta solution est plus élégante ;-)
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le message
de news:
Re Thierry,

Il faut également penser à re-séparer les éléments de l'adresse avec des
points,

ce qui peut donner (avec un IIf quand même plus élégant que mon
Left(sss,15) :


Sub test()
For Each c In Selection
tableau = Split(c, ".")
For i = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(i))) & _
tableau(i) & IIf(i < 3, ".", "")
Next i
c.Value = rep
rep = ""
Next c
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


;-))

j'avais oublié de vider rep
rep = ""

pour une fois que j'utilisais split !
mais c'est vrai que l'aspect pyramide était très joli ! ;-))

Sub test()
For Each c In Selection
tableau = Split(c, ".")
For I = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(I))) & tableau(I)
Next I
c.Value = rep
rep = ""
Next c
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le
message


de news:
Bonsoir,

Et pourquoi pas une fonction perso VBA à base de l'inépuisable Split,
déjà



utilisée par Thierry dans sa proposition (qui produit chez moi des
résultats en

escaliers du plus bel effet, mais pas sûr que 'Troxsa' en demandait
autant



!) ?
(Excel 2000 au moins requis, mais contournements possible pour Excel
97) :




Function MesIP(S)
For i = LBound(Split(S, ".")) To UBound(Split(S, "."))
MesIP = MesIP & Format(Split(S, ".")(i), "000") & "."
Next
MesIP = Left(MesIP, 15)
End Function

Et dans une feuille de calcul où tes adresses IP sont, dans leur forme
actuelle,

disons en colonne A, tu saisis en B1

=MesIP(A1)

et tu tires vers le bas autant que de besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Oui mais le probleme qui ce pose maintenant c'est que ça rensemble
plus




a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les
points




j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000

merci pour ton aide

@+++













Avatar
ru-th
sans passer par ta cave,


cela serait pêcher !

--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le message
de news:
Oups, je n'avais pas pris la peine de reprendre la ficelle depuis le
début.

Désolé :(
Elégant, nous sommes d'accord, mais inutile.. Une fois de plus, le mieux
est

l'ennemi du bien. En guise de pénitence, j'irai à genoux de ta grange à ta
mare,

sans passer par ta cave, la prochaine fois que je passerai par Angers.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Certes
mais comme il appliquait un format particulier 00#".#00#"."....
point ne les avais remis,
mais ta solution est plus élégante ;-)
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le
message


de news:
Re Thierry,

Il faut également penser à re-séparer les éléments de l'adresse avec
des



points,
ce qui peut donner (avec un IIf quand même plus élégant que mon
Left(sss,15) :


Sub test()
For Each c In Selection
tableau = Split(c, ".")
For i = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(i))) & _
tableau(i) & IIf(i < 3, ".", "")
Next i
c.Value = rep
rep = ""
Next c
End Sub

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


;-))

j'avais oublié de vider rep
rep = ""

pour une fois que j'utilisais split !
mais c'est vrai que l'aspect pyramide était très joli ! ;-))

Sub test()
For Each c In Selection
tableau = Split(c, ".")
For I = 0 To 3
rep = rep & Application.Rept(0, 3 - Len(tableau(I))) & tableau(I)
Next I
c.Value = rep
rep = ""
Next c
End Sub

a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Frédéric Sigonneau" a écrit dans le
message


de news:
Bonsoir,

Et pourquoi pas une fonction perso VBA à base de l'inépuisable
Split,





déjà
utilisée par Thierry dans sa proposition (qui produit chez moi des
résultats en

escaliers du plus bel effet, mais pas sûr que 'Troxsa' en
demandait





autant
!) ?
(Excel 2000 au moins requis, mais contournements possible pour
Excel





97) :

Function MesIP(S)
For i = LBound(Split(S, ".")) To UBound(Split(S, "."))
MesIP = MesIP & Format(Split(S, ".")(i), "000") & "."
Next
MesIP = Left(MesIP, 15)
End Function

Et dans une feuille de calcul où tes adresses IP sont, dans leur
forme





actuelle,
disons en colonne A, tu saisis en B1

=MesIP(A1)

et tu tires vers le bas autant que de besoin.

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Oui mais le probleme qui ce pose maintenant c'est que ça
rensemble






plus
a
des adresse IP
exemple j'ai l'adresse IP suivante 198.5.85.0 en retitrant les
points




j'ai
maintenant 0.01.985.851
et j'aimerais avoir comme format 198.005.085.000

merci pour ton aide

@+++

















1 2