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

[RESOLU] Scindé un code postal en 2 et garder le Département

CG2000

XLDnaute Occasionnel
Bonjour à tous,

Est-il possible de décortiquer dans plusieurs cellules d'une colonne (exemple en A) un code postal?
Exemp A1 : "41000" dans une cellule
pouvoir scindé ce code postal en 2 pour donner
cellule1 : 41
Cellule2 : 000
Exemp A2 : "75018" dans une cellule
pouvoir scindé ce code postal en 2 pour donner
cellule1 : 75
Cellule2 : 018
...

Si c'est possible je serai très satisfait. Cela m'éviterai de rajouter des colonnes et de rentrer toutes le données.
Avec mes remerciements anticipés,
Amicalement
 
Dernière édition:

Temjeh

XLDnaute Accro
Supporter XLD
Re : Scindé un code postal en 2

Bonjour

Un début
PS: Ce code met un apostrophe avant pour garder les zéro à la fin.

Code:
For i = 1 To Range("A65000").End(xlUp).Row
  Range("B" & i) = "'" & Left(Range("A" & i), 2)
  Range("C" & i) = "'" & Right(Range("A" & i), 3)
Next i

Ou

Dans format personnalisé
Colonne B: 00
Colonne C: 000
Code:
For i = 1 To Range("A65000").End(xlUp).Row
  Range("B" & i) = Left(Range("A" & i), 2)
  Range("C" & i) = Right(Range("A" & i), 3)
Next i


Temjeh
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Scindé un code postal en 2

Bonsour®


Dim Cellule1 As Range
For Cellule1 = 1 To Range("A65000").End(xlUp).Row
Cellule1.offset(0,1)=Left(Format(Cellule1,"00000"),2)
Cellule1.offset(0,2)=Right(Format(cellule1,"00000"),3)
Next
 

CG2000

XLDnaute Occasionnel
Re : Scindé un code postal en 2

Merci bien à tous,

Solutions bonnes, mais pas dans mon cas !
En effet lors de mes imports dans excel de mes informations, le tableur transcris

6300 au lieu de 06300 ce qui me donne avec vos reponses 63 300 au lieu de 6 300 ou 06 300
6600 au lieu de 06600 ce qui me donne avec vos reponses 66 600 au lieu de 6 600 ou 06 600
...

il faudrait qu'il y est en C les trois dernier chiffre et en B le reste.
Pour obtenir dans tous les cas un bon département :

75000 = 75 000
01000 = 01 000
1000 = 1 000

Merci par avance de votre aide.

CG2000
 

Pièces jointes

  • Classeur2.xls
    28 KB · Affichages: 59
  • Classeur2.xls
    28 KB · Affichages: 62
  • Classeur2.xls
    28 KB · Affichages: 65
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Scindé un code postal en 2

Bonjour CG2000,

Voir fichier joint. Les résultats sont de type texte (ça vaut mieux pour la Corse -> 2A et 2B)

Formule: =GAUCHE(A2;NBCAR(A2)-3) et =DROITE(A2;3)
 

Pièces jointes

  • Scindé un code postal en 2 v1.xls
    36 KB · Affichages: 43
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Scindé un code postal en 2

Bonsour®
Ouppsss...
oui Si...
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Scindé un code postal en 2

re

selon mon habitude : sans utiliser Offset
Code:
Sub Découpe()
  Dim R As Range
  For Each R In Range("A1:A1000")
    R(1, 2) = Int(Val(R) / 1000)
    R(1, 2).NumberFormat = "00"
    R(1, 3) = Right(R, 3)
    R(1, 3).NumberFormat = "000"
  Next
End Sub

Il y aura quand même problème avec les codes spéciaux !
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Scindé un code postal en 2

Bonjour à tous,

En VBA ? Via des fonctions personnalisées :
VB:
Function CodPos3(x)
  CodPos3 = Right(x, 3)
End Function

Function CodPos2(x)
  CodPos2 = Format(Replace(x, CodPos3(x), ""), "00")
End Function
 
Dernière édition:

CG2000

XLDnaute Occasionnel
Re : Scindé un code postal en 2

Mercis à tous, et à chacun de votre intervention sur ce fil,

R@chid,Temjeh,Modeste geedee, Si..., mapomme,
les trois solutions suivantes vont me rendre un très grand service pour la gestion de mes fichiers:

Sub Découpe()
Dim R As Range
For Each R In Range("A1:A1000")
R(1, 2) = Int(Val(R) / 1000)
R(1, 2).NumberFormat = "00"
R(1, 3) = Right(R, 3)
R(1, 3).NumberFormat = "000"
Next
End Sub


=GAUCHE(A2;NBCAR(A2)-3) et =DROITE(A2;3)


=GAUCHE(TEXTE(A2;"00000");2)

Vous venez de me convaincre de grandes possibilités avec des formules.
Merci à tous

CG2000
 
Dernière édition:

CG2000

XLDnaute Occasionnel
Re : [RESOLU] Scindé un code postal en 2

Merci à tous, les amis d'excel-downloads.com

Le Post est RESOLU et je vous partage le résultat final.

Ayant besoin impérativement d'un code Vba je ne retiend pour l'instand que le code de SI...
Mais cela ne retire en rien la qualité des propositions de formules qui à eut le succès de m'intéresser aux formules et fonctions. Et qui devrait très bientot me servire.

Ci-joint le fichier exemple qui donne la solution à ce post.
Et bon week à tous.

CG2000
 

Pièces jointes

  • Classeur2.xls
    36.5 KB · Affichages: 56
  • Classeur2.xls
    36.5 KB · Affichages: 54
  • Classeur2.xls
    36.5 KB · Affichages: 56
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…