Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Voici une proposition par Power query et table de concordances.
On peut avoir plusieurs valeurs de concordance pour le même mot

Cordialement
 

Pièces jointes

  • PQ-Normalisation_Adresses.xlsx
    25.6 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
448
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…