Remplissage automatique des codes postaux
Bonjour à tous,
Je travaille sur une base de données avec une colonne qui contient les noms de villes et une colonne avec les codes postaux correspondants.
Je souhaite automatiser le remplissage des codes postaux: je remplis ma colonne A (villes) et les codes postaux de la colonne B se remplissent automatiquement.
J'ai utilisé ce code proposé par un membre du forum mais cela ne fonctionne pour la cellule A2.
Comment feriez-vous pour que cela s'applique à toutes les cellules de la colonne ?
("Range("A2:A38949")" renvoi à une feuille qui contient toutes les villes et leurs codes postaux.)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
If Target.Address(0, 0) <> "A2" Then Exit Sub
Set Cel = Worksheets("Codes postaux").Range("A2:A38949").Find(UCase(Target.Value), , xlValues, xlWhole)
If Not Cel Is Nothing Then
Target.Offset(, 1).Value = Cel.Offset(, 1).Value
Else
MsgBox "Vérifier l'orthographe !"
End If
End Sub
Vous remerciant à l'avance
Bonjour Vermithor et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.
La prochaine fois, merci de mettre votre code entre balises, avec le bouton </>
Concernant votre demande, je ne vois pas pourquoi utiliser VBA parfois bine plus lent qu'une fonction Excel
Avec la fonction RECHERCHEV()
https://support.microsoft.com/fr-fr/office/fonction-recherchev-0bbc8083-26fe-4963-8ab8-93a18ad188a1
vous auriez ce que vous souhaitez à priori
Sinon remplacez
If Target.Address(0, 0) <> "A2" Then Exit SubPar
If Intersect(Range("A:A"), Target) Is Nothing Then Exit SubDe plus merci de bien vouloir compléter votre profil en indiquant la version d'Excel que vous utilisez SVP
https://www.excel-pratique.com/fr/compte/forum-profil
A+
Bonjour,
Je m'excuse pour les oublis de présentation et d'informations.
Je n'ai pas utilisé la fonction RECHERCHEV() parce que j'ai lu que ce n'était pas conseillé pour les grosses bases de données.
Je vous remercie mille fois pour votre réponse qui solve mon problème.
À bientôt.