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

Vérifier que le premier caractère d'une chaine de caractère est 0 dans ce cas le supprimer

11 réponses
Avatar
Bear76
Bonsoir à toute la communauté,

Je suis amener à importer dans un classeur *.xlsx des données provenant
d'une base de données en ligne.
J'ai problème concernant le traitement des numéros de téléphone. Effet
les utilisateurs n'ont pas saisi de la même façon ces numéros. On y
retrouve des points, des espaces, etc.
Je recherche une instruction en vba dont l'objet serait de vérifier la
présence d'un zéro en début de chaine dans chaque cellule d'une plage
désignée et si zéro il y avait, le supprimer.

For Each Cells In Sheets(1).Range("A2:C700")
if Cells Like "0 *" Then ????
Next

Merci d'avance

1 réponse

1 2
Avatar
Bear76
michdenis a formulé la demande :
Essaie quelque chose comme ceci :

Ce que je ne sais pas quel est le nombre minimal de chiffres
que peuvent avoir tes numéros de téléphone ainsi que le nombre
maximal de chiffres. Entre ces 2 nombres, est-ce que tous les
nombres sont possibles ?

'---------------------------------------
Sub test()
Dim Arr(), C As Range

Arr = Array(Chr(160), Chr(32), ".", "-", "(", ")")

With Sheets(1).Range("A2:C700")
.NumberFormat = "@"
For Each elt In Arr
.Cells.Replace elt, ""
Next
.NumberFormat = "##"" ""##"" ""00"" ""00"" ""00"" ""00"

For Each C In .Cells
Select Case Len(C)
Case 7, 9, 11
C.Value = "0" & C.Value
End Select
Next
End With
End Sub
'---------------------------------------



"Bear76" a écrit dans le message de groupe de
discussion :
michdenis avait énoncé :
Et toi, après traitement, quel format de numéro de téléphone désires-tu
avoir ?




"Bear76" a écrit dans le message de groupe de
discussion :
michdenis a écrit :
Bonjour,

Donne quelques exemples de quelques numéros de téléphone
et dis-nous le format que tu voudrais obtenir.

N.B- Les numéros de téléphone peuvent être pris au hasard.
Je ne m'intéresse qu'au format que tu décris.



"Bear76" a écrit dans le message de groupe de
discussion :
Bonsoir à toute la communauté,

Je suis amener à importer dans un classeur *.xlsx des données provenant
d'une base de données en ligne.
J'ai problème concernant le traitement des numéros de téléphone. Effet
les utilisateurs n'ont pas saisi de la même façon ces numéros. On y
retrouve des points, des espaces, etc.
Je recherche une instruction en vba dont l'objet serait de vérifier la
présence d'un zéro en début de chaine dans chaque cellule d'une plage
désignée et si zéro il y avait, le supprimer.

For Each Cells In Sheets(1).Range("A2:C700")
if Cells Like "0 *" Then ????
Next

Merci d'avance



Bonsoir,
Voici quelques éléments
123456789 (format Standard)

0123 45 67 89 (format Standard)
les espaces ont été saisis par l'utilisateur

01.23.45.67.89 (format Standard)
les points ont été saisis par l'utilisateur

123 456 789 (format Nombre)
Aucun espace saisi

0123456789 - 456789 (format Standard)
Là, l'utilisateur a saisi le 1er n° complètement et le second les 6
derniers chiffres

4,91707E+11 (format Standard)
Là l'utilisateur à n° à 12 chiffres

Pour les 4 premiers cas, j'ai utilisé :

Dim Cells As Range
For Each Cells In Sheets(1).Range("A2:C200")
Cells.Value = Application.Substitute(Cells.Value, " ", "")
Next Cells
For Each Cells In Sheets(1).Range("A2:C200")
Cells.Value = Application.Substitute(Cells.Value, ".", "")
Next Cells

Pour traiter le n° qui commence par zéro, j'ai fait ça, mais j'ai une
erreur 400
For Each Cells In Sheets(1).Range("A2:C200")
If Left(Range(Cells), 1) = "0" Then Range(Cells) = "" &
Mid(Range(Cells), 1, 9 ^ 9)
Next Cells

Merci d'avance



Bonsoir,
Je pense, car non spécialiste que le format texte serait le plus
approprié pour avoir 01 23 45 67 89 avec
Sheets(1).Range("A2:C200").Select
Selection.NumberFormat = "0#"" ""##"" ""##"" ""##"" ""##"
Cordialement



Bonjour,
95% des n° importés sont correctement saisis et ils ont une longueur de
9 caractères. Et tous ces n° sont des n° d'appel France.
Grâce à vous on peut traiter automatiquement le formatage de tous les
n° de téléphone.
Merci beaucoup.
1 2