Bonjour,
Je suis débutante depuis 2 jours sur VBA Excel (je ne suis pas développeuse pour info).
Voici mon problème,
J'ai un fichier Excel, où je dois corriger 3 Colonnes au niveau de leur Format de données en gros c'est du formatage de données. Une des 3 colonnes me posent problème = N° Téléphone
J'ai les format suivants possibles pour la colonne "n° téléphone" :
- 03.07.09.66.55
- 03-07-09-66-55
- 03,07,09,66,55
- 03;07;09;66;55
- 0307096655FAX
- SAM0307096655
Je voudrais avoir uniquement les 10 chiffres ni plus ni moins. Et si la cellule est vide je dois combler par des 0000000000
Voici le Code :
_____________________________________________
____________________________________________
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Public Sub Formatage() Dim NbEnregistrement As Integer Sheets(1).Select 'Compter le Nombre de lignes à importer / [-1] est pour décompter la ligne du libellé des colonnes NbEnregistrement = Application.CountA(Columns("A:A")) - 1 Range("T2").Activate Set plage = Range(ActiveCell(1, 1), ActiveCell(NbEnregistrement, 1)) For Each cell In plage cell.Value = CStr(cell.Value) cell.Value = Replace(cell, " ", "") cell.Value = Replace(cell, ",", "") cell.Value = Replace(cell, "-", "") cell.Value = Replace(cell, ";", "") cell.Value = CStr(cell.Value) 'Pour les cas suivants : FAX0203044456 ou 0201330045SAMB 'Si ce cas se présente, on remet la case à 0 If I = Len(cell) > 10 Then cell.Value = "0000000000" Else GoTo finit finit: Next cell End Sub
Voici les soucis dont j'ai besoin de votre aide :
1. Comme je ne sais pas gérer les 2 cas "0307096655FAX" et "SAM0307096655", je met des 0 à la place.
Comment peux-t-on gérer ce cas ? Comment identifier ou détecter les lettres aux chiffres ...Je sais tronquer un champs mais je ne sais pas comment savoir si les lettres sont devant ou derrière.
2. Avant la conversion le format de la cellule est au format Texte. Après la conversion il se transforme au format Numérique et donc il m'enlève le 0. Résultat j'ai 9 Caractères au lieu de 10 attendus.
C'est très important car ce fichier va être importé dans un outils et la condition c'est Format Texte et 10 caractères ni plus ni moins.
Voilà .... MERCI D'AVANCE DE VOTRE AIDE !
Juliette.
Partager