XL 2013 Code postal avec 0

  • Initiateur de la discussion Initiateur de la discussion Car75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Car75

XLDnaute Nouveau
Bonjour,

Dans une extraction de plus 50 000 lignes qui m'a été fournie, tous les codes postaux qui commencent par le 0 ont été enregistrés sans le 0.

1/Afin de pouvoir analyser mes données géographiques, j'ai besoin de rétablir ces codes postaux composés de 4 chiffres au lieu de 5 (avec le 0 devant). Quelqu'un de futé aurait-il une formule magique ?

2/Comment permettre de ne conserver que les deux premiers chiffres du code postal pour faire une analyse par département ?

Merci d'avance...
 
Re : Code postal avec 0

Bonjour Car75

Avec le code postal en A1, mettre en B1
Pour le format sur 5 chiffres: =TEXTE(A1;"00000")
Pour les deux premiers chiffres (dont 1 qui peut ne pas exister) : =GAUCHE(TEXTE(A1;"00000");2)
Cordialement
 
Re : Code postal avec 0

Bonjour Car75, Efgé et à tous

Ou bien par VBA

Code:
Option Explicit
'============================================
Sub MiseEnForme()
Dim Nb&, i&, Col%

Sheets("Feuil1").Activate
Col=1
'----- mise en forme de code postal de 1(Ain) à 9(Ariège) ----
Nb = Sheets("Feuil1").Cells(65536, Col).End(xlUp).Row
    For i = 3 To Nb
        Cells(i, Col).NumberFormat = "00000"
    Next i

End Sub
'=============================================


A+ Jean-Paul
 
Re : Code postal avec 0

Bonjour.
VIARD, ça ne servirait à rien en ce sens que ça ne changerait rien aux valeurs de cellules. Ce seraient toujours des nombre binaires en virgule flottante double précision. Il faudrait au contraire y mettre un format de cellule texte et transformer ensuite les valeurs en texte avec la fonction Format.
Maintenant si le demandeur a juste besoin des numéros de département il peut aussi y faire des divisions entières par 1000 (opérateur \)
 
Re : Code postal avec 0

Bonjour Dranreb

Effectivement, ceci n'échappe pas à un œil exercé, voici le module corrigé.
Et merci pour l'observation, pour ma part j'étais déjà en mode texte.

Code:
Option Explicit
'============================================
Sub MiseEnForme()
Dim Nb&, i&, Col%

Sheets("Feuil1").Activate
Col = 1
'----- mise en forme de code postal de 1(Ain) à 9(Ariège) ----
Nb = Sheets("Feuil1").Cells(65536, Col).End(xlUp).Row
    For i = 1 To Nb
        Cells(i, Col).NumberFormat = "@"
        Cells(i, Col).NumberFormat = "00000"
    Next i
'MsgBox Nb
End Sub
'=============================================

Salutation

Jean-Paul
 
Re : Code postal avec 0

Bonjour à Tous,

Si je puis me permettre,

On peut modifier le format d'une plage de cellules sans passer par une boucle:

Code:
Sub MiseEnForme()
Dim Col%

Col = 1
'----- mise en forme de code postal de 1(Ain) à 9(Ariège) ----
Sheets("Feuil1").Columns(1).SpecialCells(xlCellTypeConstants).NumberFormat = "00000"
End Sub
Autre avantage (mais en est-ce un?): seules les cellules renseignées seront formatées. En tout cas, ça devrait être plus rapide que la boucle.

Cordialement.
 
Re : Code postal avec 0

Bonjour Car75, Dranreb, Efgé, Papou-net et à tous

Tout ça c'est bien beau, du coup ça donne du grain à moudre.
J'ai prolongé les manips de "Efgé" pour y voir plus clair, fichier joint.
"Papou-net" je vais testé ta solution, tout ceci est positif.

amicalement

Jean-Paul
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
11 K
Réponses
3
Affichages
3 K
Retour