ces mots sont t'ils toujours séparés par un espace ou autre chose ?
isabelle
Bonjour,
Pouvez-vous m'aider pour me permettre d'extraire d'une chaîne de caractères d'1 cellule, seulement les mots en majuscules? D'avance merci.
Bonne A.M.
AV
Pouvez-vous m'aider pour me permettre d'extraire d'une chaîne de caractères d'1 cellule, seulement les mots en majuscules?
S'il y a un seul mot en majuscules dans la chaîne contenue en A1 (Pas forcément le plus court ....) =STXT(A1;EQUIV(2;(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>64)+(CODE(STX T(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<91);0);MAX((CODE(STXT(A1;LIGNE(INDIRECT ("1:"&NBCAR(A1)));1))<91)*(LIGNE(INDIRECT("1:"&NBCAR(A1)))))-EQUIV(2;(CODE(STXT( A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>64)+(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBC AR(A1)));1))<91);0)+1)
Matricielle (validation par ctrl+maj+entrée)
AV
Pouvez-vous m'aider pour me permettre d'extraire d'une
chaîne de caractères d'1 cellule, seulement les mots en
majuscules?
S'il y a un seul mot en majuscules dans la chaîne contenue en A1
(Pas forcément le plus court ....)
=STXT(A1;EQUIV(2;(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>64)+(CODE(STX
T(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<91);0);MAX((CODE(STXT(A1;LIGNE(INDIRECT
("1:"&NBCAR(A1)));1))<91)*(LIGNE(INDIRECT("1:"&NBCAR(A1)))))-EQUIV(2;(CODE(STXT(
A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>64)+(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBC
AR(A1)));1))<91);0)+1)
Pouvez-vous m'aider pour me permettre d'extraire d'une chaîne de caractères d'1 cellule, seulement les mots en majuscules?
S'il y a un seul mot en majuscules dans la chaîne contenue en A1 (Pas forcément le plus court ....) =STXT(A1;EQUIV(2;(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>64)+(CODE(STX T(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))<91);0);MAX((CODE(STXT(A1;LIGNE(INDIRECT ("1:"&NBCAR(A1)));1))<91)*(LIGNE(INDIRECT("1:"&NBCAR(A1)))))-EQUIV(2;(CODE(STXT( A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1))>64)+(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBC AR(A1)));1))<91);0)+1)
Matricielle (validation par ctrl+maj+entrée)
AV
AV
Pas sur que tout les cas de figure soient acceptés... A suivre... pour l'heure : pas le temps !
AV
Pas sur que tout les cas de figure soient acceptés...
A suivre... pour l'heure : pas le temps !
Pas sur que tout les cas de figure soient acceptés... A suivre... pour l'heure : pas le temps !
AV
Bonsoir Isabelle, oui, les mots en majuscules sont toujours séparés des autres par un espace mais il y a parfois plusieurs mots en majuscules qui se suivent, qui sont séparés entre eux par un espace et je souhaite extraire TOUT ce qui est en majuscules.
Merci pour l'aide apportée.
Bonsoir Isabelle,
oui, les mots en majuscules sont toujours séparés des
autres par un espace mais il y a parfois plusieurs mots en
majuscules qui se suivent, qui sont séparés entre eux par
un espace et je souhaite extraire TOUT ce qui est en
majuscules.
Bonsoir Isabelle, oui, les mots en majuscules sont toujours séparés des autres par un espace mais il y a parfois plusieurs mots en majuscules qui se suivent, qui sont séparés entre eux par un espace et je souhaite extraire TOUT ce qui est en majuscules.
Merci pour l'aide apportée.
ChrisV
Bonjour maslaf,
Sub extracMaj() Dim i As Integer Set aC = ActiveCell exT = "" If IsEmpty(ActiveCell) Then inF = MsgBox("Aucune donnée à traiter !", _ vbInformation, "Erreur...") Else For i = 1 To Len(ActiveCell) If Mid(aC, i, 1) Like UCase(Mid(aC, i, 1)) _ And Not IsNumeric(Mid(aC, i, 1)) Then _ exT = exT & Mid(aC, i, 1) Next i If Trim(exT) <> "" Then MsgBox Trim(exT), vbInformation Else: MsgBox "Aucune majuscule trouvée...", vbInformation End If End If Set aC = Nothing End Sub
ou avec une fonction personnalisée...
Function extracMaj(txt) Dim i As Integer For i = 1 To Len(txt) If Mid(txt, i, 1) Like UCase(Mid(txt, i, 1)) _ And Not IsNumeric(Mid(txt, i, 1)) Then _ extracMaj = LTrim(Replace(extracMaj & Mid(txt, i, 1), " ", " ")) Next i End Function
dans le classeur avec le texte en A1 =extracMaj(A1)
ChrisV
"maslaf" a écrit dans le message de news:2c0f01c470bf$91e2a270$ Bonjour,
Pouvez-vous m'aider pour me permettre d'extraire d'une chaîne de caractères d'1 cellule, seulement les mots en majuscules? D'avance merci.
Bonne A.M.
Bonjour maslaf,
Sub extracMaj()
Dim i As Integer
Set aC = ActiveCell
exT = ""
If IsEmpty(ActiveCell) Then
inF = MsgBox("Aucune donnée à traiter !", _
vbInformation, "Erreur...")
Else
For i = 1 To Len(ActiveCell)
If Mid(aC, i, 1) Like UCase(Mid(aC, i, 1)) _
And Not IsNumeric(Mid(aC, i, 1)) Then _
exT = exT & Mid(aC, i, 1)
Next i
If Trim(exT) <> "" Then
MsgBox Trim(exT), vbInformation
Else: MsgBox "Aucune majuscule trouvée...", vbInformation
End If
End If
Set aC = Nothing
End Sub
ou avec une fonction personnalisée...
Function extracMaj(txt)
Dim i As Integer
For i = 1 To Len(txt)
If Mid(txt, i, 1) Like UCase(Mid(txt, i, 1)) _
And Not IsNumeric(Mid(txt, i, 1)) Then _
extracMaj = LTrim(Replace(extracMaj & Mid(txt, i, 1), " ", " "))
Next i
End Function
dans le classeur avec le texte en A1
=extracMaj(A1)
ChrisV
"maslaf" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:2c0f01c470bf$91e2a270$a401280a@phx.gbl...
Bonjour,
Pouvez-vous m'aider pour me permettre d'extraire d'une
chaîne de caractères d'1 cellule, seulement les mots en
majuscules?
D'avance merci.
Sub extracMaj() Dim i As Integer Set aC = ActiveCell exT = "" If IsEmpty(ActiveCell) Then inF = MsgBox("Aucune donnée à traiter !", _ vbInformation, "Erreur...") Else For i = 1 To Len(ActiveCell) If Mid(aC, i, 1) Like UCase(Mid(aC, i, 1)) _ And Not IsNumeric(Mid(aC, i, 1)) Then _ exT = exT & Mid(aC, i, 1) Next i If Trim(exT) <> "" Then MsgBox Trim(exT), vbInformation Else: MsgBox "Aucune majuscule trouvée...", vbInformation End If End If Set aC = Nothing End Sub
ou avec une fonction personnalisée...
Function extracMaj(txt) Dim i As Integer For i = 1 To Len(txt) If Mid(txt, i, 1) Like UCase(Mid(txt, i, 1)) _ And Not IsNumeric(Mid(txt, i, 1)) Then _ extracMaj = LTrim(Replace(extracMaj & Mid(txt, i, 1), " ", " ")) Next i End Function
dans le classeur avec le texte en A1 =extracMaj(A1)
ChrisV
"maslaf" a écrit dans le message de news:2c0f01c470bf$91e2a270$ Bonjour,
Pouvez-vous m'aider pour me permettre d'extraire d'une chaîne de caractères d'1 cellule, seulement les mots en majuscules? D'avance merci.
Bonne A.M.
isabelle
bonjour maslaf,
ChrisV vient à l'instant de donner une macro qui répond exactement à ça,
isabelle
Bonsoir Isabelle, oui, les mots en majuscules sont toujours séparés des autres par un espace mais il y a parfois plusieurs mots en majuscules qui se suivent, qui sont séparés entre eux par un espace et je souhaite extraire TOUT ce qui est en majuscules.
Merci pour l'aide apportée.
bonjour maslaf,
ChrisV vient à l'instant de donner une macro qui répond exactement à ça,
isabelle
Bonsoir Isabelle,
oui, les mots en majuscules sont toujours séparés des
autres par un espace mais il y a parfois plusieurs mots en
majuscules qui se suivent, qui sont séparés entre eux par
un espace et je souhaite extraire TOUT ce qui est en
majuscules.
ChrisV vient à l'instant de donner une macro qui répond exactement à ça,
isabelle
Bonsoir Isabelle, oui, les mots en majuscules sont toujours séparés des autres par un espace mais il y a parfois plusieurs mots en majuscules qui se suivent, qui sont séparés entre eux par un espace et je souhaite extraire TOUT ce qui est en majuscules.
Merci pour l'aide apportée.
Daniel.M
Bonjour,
Si le mot doit être complètement en majuscule, voici une fonction personnalisée:
=XTraitMaj(A1)
Function XTraitMAJ(Txt$) As String Dim RE As Object, MS As Object Dim i As Integer, s As String, tmp As String
Set RE = CreateObject("VBScript.RegExp") RE.Ignorecase = True: RE.Global = True RE.Pattern = "s?S+s?" Set MS = RE.Execute(Txt)
For i = 0 To MS.Count - 1 If MS(i).Value = UCase(MS(i).Value) Then s = s & " " & Trim(MS(i).Value) End If Next i XTraitMAJ = Mid(s, 2) End Function
Salutations,
Daniel M.
"maslaf" wrote in message news:2c0f01c470bf$91e2a270$ Bonjour,
Pouvez-vous m'aider pour me permettre d'extraire d'une chaîne de caractères d'1 cellule, seulement les mots en majuscules? D'avance merci.
Bonne A.M.
Bonjour,
Si le mot doit être complètement en majuscule, voici une fonction personnalisée:
=XTraitMaj(A1)
Function XTraitMAJ(Txt$) As String
Dim RE As Object, MS As Object
Dim i As Integer, s As String, tmp As String
Set RE = CreateObject("VBScript.RegExp")
RE.Ignorecase = True: RE.Global = True
RE.Pattern = "s?S+s?"
Set MS = RE.Execute(Txt)
For i = 0 To MS.Count - 1
If MS(i).Value = UCase(MS(i).Value) Then
s = s & " " & Trim(MS(i).Value)
End If
Next i
XTraitMAJ = Mid(s, 2)
End Function
Salutations,
Daniel M.
"maslaf" <anonymous@discussions.microsoft.com> wrote in message
news:2c0f01c470bf$91e2a270$a401280a@phx.gbl...
Bonjour,
Pouvez-vous m'aider pour me permettre d'extraire d'une
chaîne de caractères d'1 cellule, seulement les mots en
majuscules?
D'avance merci.