Raccourcissement des codes postaux aux cinq premiers chiffres avec Excel

Les codes postaux peuvent se présenter sous deux formes: à cinq chiffres ou à dix chiffres. Certains systèmes créent des codes à 10 chiffres, mais il en faut trop pour analyser les données dans Excel. L’une des étapes typiques de normalisation des données consiste à supprimer les nombres inutiles afin que seuls les cinq premiers restent. Beaucoup d’entre nous utilisent des formules pour cela, mais si le raccourcissement du code est effectué régulièrement, la macro suivante vous aidera à automatiser cette action.
Il convient de rappeler que bien que cette macro résout un problème spécifique, le concept de raccourcissement des données lui-même peut être utile dans de nombreuses autres activités liées au traitement des données.
Comment ca marche?
La macro utilise la fonction Gauche, qui prend cinq caractères à partir de la gauche pour chaque code dans la plage spécifiée.

Sub RaccourcirCodes()
'Étape 1: Déclarez les variables
Dim MaPlage As Range
Dim MesCellules As Range

'Étape 2: enregistrer la feuille de calcul avant d'apporter des modifications aux cellules?
Select Case MsgBox("Les actions ne peuvent pas être annulées." & "Voulez-vous d'abord enregistrer la feuille de calcul?", vbYesNoCancel)
Case Is = vbYes
ThisWorkbook.Save
Case Is = vbCancel
Exit Sub
End Select
'Étape 3: Définir la plage de cellules
Set MaPlage = Selection
'Étape 4: Démarrage la boucle pour la plage
For Each MesCellules In MaPlage
'Étape 5: Obtenir les cinq premiers caractères de la gauche
If Not IsEmpty(MesCellules) Then
MesCellules = Left(MesCellules, 5)
End If
'Étape 6: passez à la cellule suivante de la plage
Next MesCellules
End Sub

Commentaires

1. Dans la première étape, les deux variables objet du type Range sont déclarées – la variable MaPlage stockera l’adresse de la plage entière, tandis que la variable MesCellules stockera les données des cellules calculées successivement de la plage donnée.
2. Lorsque la macro est exécutée, la pile d’annulation sera supprimée. Cela signifie que vous ne pourrez pas annuler les actions effectuées par la macro. Parce que ça vient pour modifier les données, vous devez pouvoir enregistrer le classeur avant d’exécuter la macro. Cela se déroule ensuite à l’étape deux. Une boîte de message s’affiche, qui propose des options pour enregistrer le classeur. Il propose trois options: Oui, Non et Annuler. Cliquez sur Oui pour enregistrer le classeur et poursuivre la macro. Cliquez sur Annuler pour mettre fin à la macro. Toutefois, en cliquant sur le bouton Non, l’exécution de la macro commencera sans enregistrer le classeur au préalable.

3. À l’étape trois, la plage cible de cellules est transmise à la variable MaPlage. Dans cet exemple, la plage déjà sélectionnée dans la feuille de calcul est sélectionnée. Bien entendu, la variable MaPlage peut facilement être définie sur une plage spécifique, par exemple Range (“A1: Z100”). De même, lorsqu’une plage a un nom. Ensuite, vous pouvez simplement le saisir: Range (“nomdeplage”).
4. À l’étape quatre, une boucle est lancée pour chaque cellule dans la plage indiquée.

5. Lorsque la cellule est activée, à la cinquième étape, la macro détermine si la cellule est vide en fonction de la propriété IsEmpty. Il s’agit d’améliorer les performances – si la cellule est vide, aucune action n’est effectuée. Ensuite, la fonction Gauche est appliquée à la valeur de la cellule. La fonction Gauche récupère un nombre spécifique de caractères à gauche de la chaîne. Dans ce scénario, nous avons besoin de cinq caractères, ce qui nous permettra de raccourcir le code postal aux tailles requises.

6. À l’étape six, la boucle passe à la cellule suivante. Après avoir traversé toutes les cellules dans le domaine de la macro, l’opération se termine.
Il n’y a aucun problème à travailler avec des numéros de produit dans lesquels les premiers caractères ont une signification particulière et les derniers indiquent. produit réel (par exemple dans 100-7672). Dans ce cas, vous pouvez extraire le numéro de produit correct avec. Fonction droite (cellule; 4).
Étant donné que la plage a été définie sur la zone actuellement sélectionnée, assurez-vous de sélectionner les cellules contenant des données avant d’exécuter le code. En d’autres termes, vous ne souhaitez pas sélectionner de cellules qui ne correspondent pas à la logique macro.
Sinon, chaque cellule sélectionnée sera traitée quelles que soient les intentions de l’utilisateur. Une façon d’éviter ce problème peut être d’indiquer la plage exacte de données, par exemple: Set MyRange = Range (“A1: Z100”).

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x