Bonjour,
Je tourne un peu en boucle sans trouver une bonne solution. Je suis débutante en codage VBA pour Excel.
Je dois nettoyer une grande base de données d'adresses, qui ont été mal saisies.
Il devrait avoir que le numéro et la voie de l'adresse, mais dans certains cas, il y a aussi la commune. La commune est connue dans une colonne, mais elle varie en fonction des adresses.
Je cherche donc à identifier si la commune est renseigné dans la cellule "adresse", et si c'est le cas, la remplacer par un vide "". Donc j'aimerais trouver un code qui identifie la commune dans la colonne E et qui puisse la détecter ensuite dans le texte des cellules de la colonne B. J'espère que vous pouvez m'aider à trouver une solution Un grand merci en avance !
En pièce jointe, un fichier exemple.
Voici le code que j'ai écrit mais que ne fonctionne pas :
Je tourne un peu en boucle sans trouver une bonne solution. Je suis débutante en codage VBA pour Excel.
Je dois nettoyer une grande base de données d'adresses, qui ont été mal saisies.
Il devrait avoir que le numéro et la voie de l'adresse, mais dans certains cas, il y a aussi la commune. La commune est connue dans une colonne, mais elle varie en fonction des adresses.
Je cherche donc à identifier si la commune est renseigné dans la cellule "adresse", et si c'est le cas, la remplacer par un vide "". Donc j'aimerais trouver un code qui identifie la commune dans la colonne E et qui puisse la détecter ensuite dans le texte des cellules de la colonne B. J'espère que vous pouvez m'aider à trouver une solution Un grand merci en avance !
En pièce jointe, un fichier exemple.
Voici le code que j'ai écrit mais que ne fonctionne pas :
VB:
Sub text_commune()
Dim commune As String
com = Selection.Cells(2, 5).Text
If InStr(1, ActiveSheet.Cells(2, 2), com, vbTextCompare) > 0 Then
ActiveSheet.Cells(2, 3) = Replace(UCase(ActiveSheet.Cells(2, 2)), com, "")
Else: ActiveSheet.Cells(2, 3) = ActiveSheet.Cells(2, 2)
End If
End Sub