Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Excel XP - insérer 0 si le No commence par 0

5 réponses
Avatar
Congelator
Salut tout le monde,

J'ai un fichier excel avec environ 300 No de téléphones (nombre variable
d'un mois à l'autre) dans la colonne B . Ils ont plusieurs formats différents
: 0xx/xxx.xx.xx ou +00xx xx xx xx et je dois les convertir sans les / ni . ni
espaces. Par contre, une fois la macro terminée, tous les Nos qui commencent
par 0 ou 00 ont les 0 supprimés...

Comment faire pour garder le/les 0 ?
Voici déjà un bout de la macro que j'essaie de compléter :

Sub numeros()
Columns("B:B").Select
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

Merci pour le coup de main.
--
Céd / Lausanne

5 réponses

Avatar
Daniel
Bonjour.
Ajoute : Columns("B:B").NumberFormat = "@" au début de ta macro.
Cordialement.
Daniel

"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de
news:
Salut tout le monde,

J'ai un fichier excel avec environ 300 No de téléphones (nombre variable
d'un mois à l'autre) dans la colonne B . Ils ont plusieurs formats
différents
: 0xx/xxx.xx.xx ou +00xx xx xx xx et je dois les convertir sans les / ni .
ni
espaces. Par contre, une fois la macro terminée, tous les Nos qui
commencent
par 0 ou 00 ont les 0 supprimés...

Comment faire pour garder le/les 0 ?
Voici déjà un bout de la macro que j'essaie de compléter :

Sub numeros()
Columns("B:B").Select
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
End Sub

Merci pour le coup de main.
--
Céd / Lausanne


Avatar
Congelator
Salut Daniel,

Merci pour l'info mais malheureusement ça ne fonctionne pas, je n'ai
toujours plus de 0 une fois la macro exécutée...
--
Céd / Lausanne



Bonjour.
Ajoute : Columns("B:B").NumberFormat = "@" au début de ta macro.
Cordialement.
Daniel

"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de
news:
Salut tout le monde,

J'ai un fichier excel avec environ 300 No de téléphones (nombre variable
d'un mois à l'autre) dans la colonne B . Ils ont plusieurs formats
différents
: 0xx/xxx.xx.xx ou +00xx xx xx xx et je dois les convertir sans les / ni .
ni
espaces. Par contre, une fois la macro terminée, tous les Nos qui
commencent
par 0 ou 00 ont les 0 supprimés...

Comment faire pour garder le/les 0 ?
Voici déjà un bout de la macro que j'essaie de compléter :

Sub numeros()
Columns("B:B").Select
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
End Sub

Merci pour le coup de main.
--
Céd / Lausanne







Avatar
Daniel
Il y a peut-être plus futé mais si tu ajoutes ceci en début de macro, tu
obtiens le résultat voulu :

Dim Plage As Range, c As Range
Set Plage = Range("B1", Range("B65536").End(xlUp))
For Each c In Plage
c.Value = "'" & c.Value
Next c

Cordialement.
Daniel
"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message de
news:
Salut Daniel,

Merci pour l'info mais malheureusement ça ne fonctionne pas, je n'ai
toujours plus de 0 une fois la macro exécutée...
--
Céd / Lausanne



Bonjour.
Ajoute : Columns("B:B").NumberFormat = "@" au début de ta macro.
Cordialement.
Daniel

"Congelator" <congelator(a_effacer)@hotmail.com> a écrit dans le message
de
news:
Salut tout le monde,

J'ai un fichier excel avec environ 300 No de téléphones (nombre
variable
d'un mois à l'autre) dans la colonne B . Ils ont plusieurs formats
différents
: 0xx/xxx.xx.xx ou +00xx xx xx xx et je dois les convertir sans les /
ni .
ni
espaces. Par contre, une fois la macro terminée, tous les Nos qui
commencent
par 0 ou 00 ont les 0 supprimés...

Comment faire pour garder le/les 0 ?
Voici déjà un bout de la macro que j'essaie de compléter :

Sub numeros()
Columns("B:B").Select
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse
End Sub

Merci pour le coup de main.
--
Céd / Lausanne









Avatar
Daniel
Ou mieux :

Sub numeros()
Columns("B:B").Select
Application.FindFormat.NumberFormat = "@"
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
End Sub

Daniel

"Daniel" a écrit dans le message de news:
%
Il y a peut-être plus futé mais si tu ajoutes ceci en début de macro, tu
obtiens le résultat voulu :

Dim Plage As Range, c As Range
Set Plage = Range("B1", Range("B65536").End(xlUp))
For Each c In Plage
c.Value = "'" & c.Value
Next c

Cordialement.
Daniel


Avatar
Congelator
Salut Daniel,

Merci pour le coup de main, ça fonctionne enfin mais j'ai dû assembler les 2
codes... L'un sans l'autre ça ne joue pas. Voilà le code des fois que ça
intéresserait qqn d'autre...

Encore merci


Public Sub numeros()

Dim Plage As Range, c As Range
Set Plage = Range("B1", Range("B65536").End(xlUp))

For Each c In Plage
c.Value = "'" & c.Value
Next c

Columns("B:B").Select ' sélection dela colonne
Application.FindFormat.NumberFormat = "@"
'recherche - remplace /
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
'recherche - remplace .
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
'recherche - remplace les espaces
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
'recherche - remplace les +41
Selection.Replace What:="+41", Replacement:="'0", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True

End Sub

--
Céd / Lausanne



Ou mieux :

Sub numeros()
Columns("B:B").Select
Application.FindFormat.NumberFormat = "@"
Selection.Replace What:="/", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:=True
End Sub

Daniel

"Daniel" a écrit dans le message de news:
%
Il y a peut-être plus futé mais si tu ajoutes ceci en début de macro, tu
obtiens le résultat voulu :

Dim Plage As Range, c As Range
Set Plage = Range("B1", Range("B65536").End(xlUp))
For Each c In Plage
c.Value = "'" & c.Value
Next c

Cordialement.
Daniel