OVH Cloud OVH Cloud

Base de donnée

1 réponse
Avatar
Noëlle
Bonjour,

J'ai une base de donn=E9e dans excel avec entre autre un=20
champ de num=E9ro de t=E9l commen=E7ant par 0 etc....je=20
souhaiterai remplacer le o par un autre chiffre le 4 par=20
exemple. Suis je oblig=E9 de le supprimer un par un dans=20
chaque fiche (7500) ou bien existe til une formule pour=20
le remplacer en m=EAme temps dans toutes mes fiches. Je=20
vosu remercie de me tenir au courant afin de gagner du=20
temps.
Ce fichier est =E0 la base dans filemaker pro 3 que je=20
converti ensuite en excel pais si dans filemaker c'=E9tait=20
possible je le ferai .
Merci encore pour votre lumi=E8re et bonne journ=E9e.

No=EBlle

1 réponse

Avatar
PMO
Bonjour,

### FAITES L'ESSAI SUR UNE COPIE DE VOTRE FICHIER ###

1) Solution par une formule dans Excel
Dans une nouvelle colonne appliquez la formule suivante:
="x" & DROITE(A1;NBCAR(A1)-1)
où x est égal au caractère de remplacement (Ex: 4) ou
à la chaîne de remplacement (Ex: ZAZA), A1 est la cellule
comportant la valeur d'origine. Ainsi si on applique
telle quelle la formule et qu'en A1 on a 0123456789 on
obtiendra x123456789

2) Solution par macro VBA
Insérez le code suivant dans un module de code et
faites tourner.

*****************************
Option Explicit

Sub ChangeFirstChar()
Dim R As Range
Dim Remplace$
Dim var
Dim Tb()
Dim i&
Dim bool As Boolean
On Error GoTo fin
Set R = Application.InputBox(prompt:= _
"Sélectionner une cellule de la colonne concernée", _
Type:=8)
var = Range(Cells(1, R.Column), _
Cells(ActiveSheet.UsedRange.Rows.Count, R.Column))
Remplace$ = Application.InputBox( _
prompt:="Remplacer le 1er caractère par", _
Type:=2)
ReDim Tb(1 To UBound(var, 1), 1 To 1)
For i& = 1 To UBound(var, 1)
Tb(i&, 1) = var(i&, 1)
If Not IsEmpty(Tb(i&, 1)) Then
Tb(i&, 1) = Remplace$ & Mid(Tb(i&, 1), 2)
bool = True
End If
Next i&
If bool Then
Sheets.Add after:=Sheets(Sheets.Count)
Set R = Range(Cells(1, 1), _
Cells(UBound(Tb, 1), 1))
R.NumberFormat = "@"
R = Tb
End If
fin:
End Sub
******************************

A plus.

PMO
Patrick Morange

-----Message d'origine-----
Bonjour,

J'ai une base de donnée dans excel avec entre autre un
champ de numéro de tél commençant par 0 etc....je
souhaiterai remplacer le o par un autre chiffre le 4 par
exemple. Suis je obligé de le supprimer un par un dans
chaque fiche (7500) ou bien existe til une formule pour
le remplacer en même temps dans toutes mes fiches. Je
vosu remercie de me tenir au courant afin de gagner du
temps.
Ce fichier est à la base dans filemaker pro 3 que je
converti ensuite en excel pais si dans filemaker c'était
possible je le ferai .
Merci encore pour votre lumière et bonne journée.

Noëlle
.