Mettre espace entre chiffre et lettre

  • Initiateur de la discussion Temjeh
  • Date de début
T

Temjeh

Guest
Bonsoir ou bonne nuit à tous

pour évité un bug dans mon code je voudrait en col C y vérifié par vba si il n'y a pas d'espace entre chiffre et lettre(adresse) il en met une:

123bbb
devient
123 bbb

Merci

Temjeh
 

MichelXld

XLDnaute Barbatruc
bonjour Temjeh

j'espere que cet exemple pourra t'aider

Dim x As Integer, i As Integer
Dim Valeur As String

x = Range('C65356').End(xlUp).Row

For i = 1 To x
Valeur = Val(Cells(i, 3))
If Not Mid(Cells(i, 3), Len(Valeur) + 1, 1) = ' ' Then _
Cells(i, 3) = Valeur & ' ' & Right(Cells(i, 3), Len(Cells(i, 3)) - Len(Valeur))
Next i



bonne journée
MichelXld
 
A

AV

Guest
Ave,

Si tes chaînes commencent toujours par des chiffres suivis de lettres.
Pour insérer un espace entre chiffres et lettres :
Une soluce par formule
Matricielle à valider par ctrl+maj+entrée
=GAUCHE(A1;EQUIV(1;ESTERR(1*STXT(A1;LIGNE(INDIRECT('1:'&NBCAR(A1)));1))*1;0)-1)&' '&STXT(A1;EQUIV(1;ESTERR(1*STXT(A1;LIGNE(INDIRECT('1:'&NBCAR(A1)));1))*1;0);9^9)

AV [aaa]
 

andré

XLDnaute Barbatruc
Salut Temjeh, MichelXLD et Av,
salut les autres,

Assez laconique comme question i
Le sujet : 'Mettre un espace ...'
La question : 'Vérifier s'il n'y a pas d'espace, le cas échéant en mettre un).
On sait aussi que c'est une adresse, donc que le nombre est toujours en début de chaîne (pour la France, mais pas pour la Belgique).

Mais on ne sait pas si le numéro (de l'adresse) peut être suivi d'une lettre ou d'une chaîne de lettres faisant partie du numéro.
Exemple : 123bis rue de l'Eglise
Là où cela se complique : 123 bisrue de l'Eglise, ou 123bisrue de l'Eglise
Et faut-il prévoir le cas où il n'y a pas de numéro ?
Et peut-il y avoir d'autres chiffres dans l'adresse : 17 avenue de la 5ième Armée

Un échantillonnage plus complet s'avère necessaire pour essayer d'apporter une solution.

Â+
 
T

Temjeh

Guest
Merci Michel c'est la perfection.

J'avais besoin de trier ceci et j'ai le code pour() (je le sais la prochaine fois je met ces données dans 2 col pour plus facile):

123 abc
123 dfg
123 abf
123dag

Si lutilisateur ne met pas d'espace à la 3ème lignele trie donne:

123 abc
123 abf
123 dfg
123dag

aulieu de:

123 abc
123 abf
123dag
123 dfg


Merci aussi andré de me rappelé de mettre plus de détails dans ma question. J,aurais du dire la première séquense en partant de la Gauche!!

Merci AV je garde ca aussi dans ma base codes.

Temjeh
 

Discussions similaires

Réponses
5
Affichages
356
Compte Supprimé 979
C
Réponses
15
Affichages
791
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 345
Messages
2 087 473
Membres
103 553
dernier inscrit
jhnm