Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

comment separer les caracteres en majuscules des caracteres en minuscules??

  • Initiateur de la discussion Initiateur de la discussion cam8701
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

cam8701

Guest
Bonjour.

Je cherche à séparer les les caracteres en majuscules des caracteres en minuscules...

Soit:

CamilleGUILLETON en A1.

je cherche à obtenir Camille en A1 et GUILLETON en A2.

Quelqu'un pourrait'il m' aider?? Cela me serai de grand secours!!!

Merci d'avance.

Cam
 
Re : comment separer les caracteres en majuscules des caracteres en minuscules??

Bonjour,

Cela dépend un peu de la configuration...

Soit dans tous les cas :

Code:
Sub MajMin()
Dim cel As Range, x$, txt1$, txt2$
Set cel = [A1] 'à adapter
For i = 1 To Len(cel)
  x = Mid(cel, i, 1)
  If x = LCase(x) Then txt1 = txt1 & x Else txt2 = txt2 & x
Next
cel = txt1
cel.Offset(1) = txt2
End Sub

Soit dans le cas présenté :

Code:
Sub MajMin()
Dim cel As Range, x$, txt1$, txt2$
Set cel = [A1] 'à adapter
For i = 1 To Len(cel)
  x = Mid(cel, i, 1)
  If i = 1 Or x = LCase(x) Then txt1 = txt1 & x Else txt2 = txt2 & x
Next
cel = txt1
cel.Offset(1) = txt2
End Sub

A+
 
Re : comment separer les caracteres en majuscules des caracteres en minuscules??

Bonjour Cam8701 et bienvenue, salut Job 🙂,
Nous avions commis beaucoups de choses sur ce fil que je t'invite à découvrir 😉
Bonne lecture 😎
 
Re : comment separer les caracteres en majuscules des caracteres en minuscules??

Salut,comme j'ai un peu cherché je soumets ceci
Code:
Option Explicit

Sub Tst()
Dim LastRow As Long, i As Long, j As Long
Dim L As Long, s As String, c As String * 1
Dim cpt As Long, s1 As String, s2 As String

    LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To LastRow
        L = Len(Feuil1.Range("A" & i))
        cpt = 0
        s = Feuil1.Range("A" & i)
        For j = 1 To L
            c = Mid$(s, j, 1)
            If c = UCase$(c) Then cpt = cpt + 1
            If cpt = 2 Then
                s1 = Left$(s, j - 1)
                s2 = Right$(s, L - j + 1)
                Exit For
            End If
        Next j
        Feuil1.Range("B" & i) = s1
        Feuil1.Range("C" & i) = s2
    Next i
End Sub
 
Dernière édition:
Re : comment separer les caracteres en majuscules des caracteres en minuscules??

Re,

Avec la configuration présentée par notre ami, on peut supposer que :

- chaque mot en minuscules commence par une majuscule

- il n'y a que des lettres (plus d'espaces, tirets, etc)

Alors essayer :

Code:
Sub MajMin()
Dim cel As Range, x$, y$, txt1$, txt2$
Set cel = [A1] 'à adapter
For i = 1 To Len(cel)
  x = Mid(cel, i, 1)
  y = Mid(cel, i + 1, 1)
  If x = LCase(x) Or y = LCase(y) And y <> "" Then _
    txt1 = txt1 & x Else txt2 = txt2 & x
Next
cel = txt1
cel.Offset(1) = txt2
End Sub

A+
 
Re : comment separer les caracteres en majuscules des caracteres en minuscules??

Re,une autre , en commençant par la fin de la chaine
Code:
Sub Tst2()
Dim LastRow As Long, i As Long, j As Long
Dim L As Long, s As String, c As String * 1
Dim s1 As String, s2 As String

    LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To LastRow
        L = Len(Feuil1.Range("A" & i))
        s = Feuil1.Range("A" & i)
        For j = L To 1 Step -1
            c = Mid$(s, j, 1)
            If c = LCase$(c) Then
                s1 = Left$(s, j)
                s2 = Right$(s, L - j)
                Exit For
            End If
        Next j
        Feuil1.Range("B" & i) = s1
        Feuil1.Range("C" & i) = s2
    Next i
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…