clemath69
Messages postés3Date d'inscriptionmardi 28 janvier 2014StatutMembreDernière intervention29 janvier 2014
-
28 janv. 2014 à 18:04
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
29 janv. 2014 à 12:41
Bonjour j'ai une chaîne de texte de type code postal étranger, je cherche à développer une petite macro pour rechercher si dans la Colonne B j'ai un indicatif "GB" je vais modifier la chaîne de texte contenue dans la colonne A en insérant en 3e position en partant de la droite un espace. Comment puis je faire?
Sub EspUK()
' EspUK Macro
' ajoute l'espace avant les trois dernières lettres pour les codes en GB
'SI la valeur entre parenthèses (colonne indicateur du pays) est ="GB" si condition vraie alors on
'exécute les instructions placées après THEN
For Each cel In Range A:A
cel.Value = Right(cel.Value & "", 3)
Next cel
End Sub
Je n'arrive pas à placer ma condition et tout s'efface pour ajouter mon espace?
A voir également:
Vba supprimer les espaces dans une chaine de caractères
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 29 janv. 2014 à 12:41
Il convient alors de clore s'il te plait cette discussion (un clic sur le tag RESOLU au niveau de ton tout premier message).
Quelle solution as-tu finalement retenue ?
jordane45
Messages postés37725Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention26 septembre 2023342 28 janv. 2014 à 18:18
Bonjour,
Sub EspUK()
' EspUK Macro
' ajoute l'espace avant les trois dernières lettres pour les codes en GB
'SI la valeur entre parenthèses (colonne indicateur du pays) est ="GB" si condition vraie alors on
'exécute les instructions placées après THEN
For Each cel In Range("A1:A50")
ValeurdelaCellule = cel.Value
NumeroLigneCellule = cel.Row
'test si GB est présent dans la colonne B
If Cells(NumeroLigneCellule, 2).Value = "GB" Then
'On ajoute un espace à la valeur de la cellule si sa longueur est supérieur à 3!
If Len(ValeurdelaCellule) > 3 Then
cel.Value = Left(ValeurdelaCellule, Len(ValeurdelaCellule) - 3) & " " & Left(ValeurdelaCellule, 3)
End If
End If
Next
End Sub