XL 2016 Remplacer au début d'une cellule

digitman

XLDnaute Nouveau
Bonjour,
Je souhaite remplacer des chaines au début de cellules la colonne C par d'autre valeurs
Exemple :
R Georges Pompidou --> Rue Georges Pompidou

Merci pour votre aide
Cordialement
 

digitman

XLDnaute Nouveau
Bonjour

VB:
="Rue " & DROITE(A1;NBCAR(A1)-2)
Merci de votre réponse je crois que j'ai mal exprimé mon besoin
l'exemple que j'ai mis peut être aussi
Bat A rue Georges Pompidou -- >Bâtiment A rue Georges Pompidou
ALL Georges Pompidou --> Allee Georges Pompidou
Imp Georges Pompidou --> Impasse Georges Pompidou
PL Georges Pompidou --> Place Georges Pompidou
la fonction que je cherche c'est de remplacer une chaine de caractères au début d'une cellule par une autre :
Si [chaine 1] se trouve au début de la cellule alors remplacer [chaine 1] par [chaine 2]

merci
cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Digitman, Vgendron,
Dans le même esprit, s'il y a plusieurs raccourcis :
VB:
=SI(GAUCHE(B2;1)="R";"Rue "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="A";"Avenue "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="B";"Boulevard "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="I";"Impasse "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="C";"Chemin "&DROITE(B2;NBCAR(B2)-2);B2)))))
 

Pièces jointes

  • Classeur2.xlsx
    8.3 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Rectifié d'après votre dernier post avec :
Code:
=SI(GAUCHE(B2;3)="Bat";"Bâtiment "&DROITE(B2;NBCAR(B2)-5);
SI(GAUCHE(B2;1)="R";"Rue "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="A";"Allée "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="B";"Boulevard "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="I";"Impasse "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="C";"Chemin "&DROITE(B2;NBCAR(B2)-2);B2))))))

Attention, "A" pourrait signifier Allée ou Avenue.
 

Pièces jointes

  • Classeur2.xlsx
    8.4 KB · Affichages: 1

digitman

XLDnaute Nouveau
Rectifié d'après votre dernier post avec :
Code:
=SI(GAUCHE(B2;3)="Bat";"Bâtiment "&DROITE(B2;NBCAR(B2)-5);
SI(GAUCHE(B2;1)="R";"Rue "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="A";"Allée "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="B";"Boulevard "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="I";"Impasse "&DROITE(B2;NBCAR(B2)-2);
SI(GAUCHE(B2;1)="C";"Chemin "&DROITE(B2;NBCAR(B2)-2);B2))))))

Attention, "A" pourrait signifier Allée ou Avenue.

Merci vgendron et Sylvanu pour vos réponses​

Code:
=SI(GAUCHE(B2;3)="Bat";"Bâtiment "&DROITE(B2;NBCAR(B2)-5);
il y a un espace après Bat, après R ...
voici un exemple de fichier joint
@sylvanu
la formule que vous avez crée donne : Batiment Rue Georges pompidou au lieu de Batiment A rue Georges Pompidou comme j'ai donné dans l'exemple
Merci
Cordialement
 

Pièces jointes

  • ClasseurNormalisation_Adresses.xlsx
    8.3 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
@digitman,
Ca suit toujours la même logique, vous pouviez vous inspirer de nos exemple.
En PJ :
VB:
=SI(GAUCHE(A2;3)="Bat";"Bâtiment "&DROITE(A2;NBCAR(A2)-4);
SI(GAUCHE(A2;2)="AV";"Avenue "&DROITE(A2;NBCAR(A2)-3);
SI(GAUCHE(A2;2)="PL";"Place "&DROITE(A2;NBCAR(A2)-3);
SI(GAUCHE(A2;3)="RTE";"Route "&DROITE(A2;NBCAR(A2)-4);
SI(GAUCHE(A2;1)="R";"Rue "&DROITE(A2;NBCAR(A2)-2);
SI(GAUCHE(A2;1)="A";"Allée "&DROITE(A2;NBCAR(A2)-2);
SI(GAUCHE(A2;1)="B";"Boulevard "&DROITE(A2;NBCAR(A2)-3);
SI(GAUCHE(A2;1)="I";"Impasse "&DROITE(A2;NBCAR(A2)-2);
SI(GAUCHE(A2;1)="C";"Chemin "&DROITE(A2;NBCAR(A2)-2);A2)))))))))
 

Pièces jointes

  • ClasseurNormalisation_Adresses.xlsx
    9.4 KB · Affichages: 0

digitman

XLDnaute Nouveau
Merci à tous pour vos réponses
J'ai une question dans le même sens
la formule que @sylvanu m'a donné
comment l'appliquer a travers une macro
Code:
=SI(GAUCHE(A2;4)="Bat ";"Bâtiment "&DROITE(A2;NBCAR(A2)-4);
SI(GAUCHE(A2;2)="R ";"Rue "&DROITE(A2;NBCAR(A2)-2);
SI(GAUCHE(A2;4)="ALL ";"Allée "&DROITE(A2;NBCAR(A2)-4);
SI(GAUCHE(A2;3)="BD ";"Boulevard "&DROITE(A2;NBCAR(A2)-2);
SI(GAUCHE(A2;4)="IMP ";"Impasse "&DROITE(A2;NBCAR(A2)-4);
SI(GAUCHE(A2;3)="AV ";"Avenue "&DROITE(A2;NBCAR(A2)-2);
SI(GAUCHE(A2;5)="CHEM ";"Chemin "&DROITE(A2;NBCAR(A2)-5);
SI(GAUCHE(A2;3)="PL ";"Place "&DROITE(A2;NBCAR(A2)-3);
SI(GAUCHE(A2;4)="RTE ";"Route "&DROITE(A2;NBCAR(A2)-4);
SI(GAUCHE(A2;5)="PASS ";"Passage "&DROITE(A2;NBCAR(A2)-5);
SI(GAUCHE(A2;6)="RESID ";"Résidence "&DROITE(A2;NBCAR(A2)-6);
SI(GAUCHE(A2;4)="LOT ";"Lotissement "&DROITE(A2;NBCAR(A2)-4);A2))))))))))))
et l'appliquer sur toute une colonne choisie par exemple la colonne J
j'ai essayé avec ce code que j'ai trouvé sur le net et je l'ai modifié mais ça me donne des erreurs
Code:
Sub appliquer_formule()
Dim DL As Integer

DL = Cells(Application.Rows.Count, "A").End(xlUp).Row
Range("J2").FormulaR1C1 = "=IF(LEFT(A2;4)=""Bat "";""Bâtiment ""&RIGHT(A2;LENB(A2)-4))"
Range("J2").AutoFill Destination:=Range("J2:J" & DL), Type:=xlFillDefault
End Sub

Merci
Cordialement
 

Discussions similaires

Réponses
26
Affichages
383

Statistiques des forums

Discussions
312 236
Messages
2 086 481
Membres
103 232
dernier inscrit
logan035