Détecter l'absence d'espace dans un paragraphe

Bonjour à tous,

Ca va faire un moment que je cherche une solution à ce problème visiblement simple à première vue mais pas évident du tout. Du moins pour moi .

En fait une macro réalise une concatenation des valeur entrées dans une application et les ressort sur un fichier excel.

Mon but est de refaire une separation de ces valeurs dans différentes cellules du de la feuille génére. Jusque là pas de problème.

Mais le TIC est que la macron omet de mettre l'espace entre deux valeurs concatenées (pb qui ne peut pas être corrigé car macro de l'applition inaccéssible). C'est là où les choses se compliquent car toutes les méthode que j'ai eu a tester jusqu'ici demandent d'entrer le caractère pris en compte pour réaliser la sépartion.

je ne sais pas si quelqu'un à une idée comment procéder

je mets le fichier en PJ pour plus d'explication.

21test-separation.xls (17.00 Ko)

En vous remerciant d'avance.

bonjour

une solution basée sur la détection d'une minuscule suivie immédiatement d'une majuscule (pas 100 % de garantie que ce sera toujours correct)

Sub aargh()
    dl = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To dl
        ph = Cells(i, 1)
        For j = 1 To Len(ph) - 1
            If Asc(Mid(ph, j, 1)) > 96 And Asc(Mid(ph, j + 1, 1)) > 64 And Asc(Mid(ph, j + 1, 1)) <= 96 Then
                Cells(i, 2) = Left(ph, j)
                Cells(i, 3) = Mid(ph, j + 1)
            End If
        Next j
    Next i
End Sub

Super merci h2so4.

Je viens de tester ton code ça marche parfaitement !

Mais est ce qu'il est aussi possible de détecter les caratères spéciaux (., :, / etc.) ou les nombres suivis immédiatement d'une majuscule ?

En fait j'ai d'autre configurations de concaténation dans mon fichié, et si on introduit cette méthode dans ton code cela fera pleinnement l'affaire.

Je mets le fichier mis à jour avec les autres configurations en PJ.

Merci.

re-bonjour,

voici une adaptation

Sub aargh()
    dl = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 3 To dl
        ph = Cells(i, 1)
        For j = 1 To Len(ph) - 1
            If Mid(ph, j, 1) Like "[a-z0-9/]" And Mid(ph, j + 1, 1) Like "[A-Z]" Then
                Cells(i, 2) = Left(ph, j)
                Cells(i, 3) = Mid(ph, j + 1)
            End If
        Next j
    Next i
End Sub

Super merci h2so4.

C'est exactement ce que je voulais et ça marche!

Merci au forum.

Rechercher des sujets similaires à "detecter absence espace paragraphe"