Bonjour, encore et encore !
Malgré pleins de tutos et docs microsoft, mine de rien trouver la bonne syntaxe demande une maîtise parfaite ! Bref je m'explique
Dans une cellule J'ai un Prenom ( 1ère lettre en Majuscule), puis, sans aucun espace j'ai le NOM tout en majuscules !! Je cherche donc la bonne méthode pour mettre en espace entre les 2 !
ex: DenisDUPOND je pense donc que c'est inévitable, je dois passer par repérer la position de la 2ème majuscule ( donc sauter la première !)
puis en deuxième phase procéder la l'insertion
facile à dire !
avec
soit : If Mid(Range("A1").Value, i, 1) Like "[A-Z]" Then
MsgBox "Position " & i
je dois bloquer " au 2ème i puisque les les autres sont la suite du nom et ....
soit: i = InStr(2, Range("A1"), like"[A-Z]") je démarre à la 2éme lettre mais n'accepte pas le like
soit: Dim parametre As String
parametre = UCase
i = InStr(3, Range("A1"), parametre) c'est pis rien ne marche
ni en faisant la methode extraire, ou comptage position. Je pense ne pas avoir assez décomposé
Si un pro de la synthaxe s'est déjà confronté à ce genre de reflexion ?
Cordialement à tout ce forum génial
Function SauteMaj$(t$)
Dim i%, n%
For i = 1 To Len(t)
If Mid(t, i, 1) = UCase(Mid(t, i, 1)) Then n = n + 1
If n = 2 Then SauteMaj = Left(t, i - 1) & " " & Mid(t, i): Exit Function
Next
SauteMaj = t
End Function
EUHHHH
J'ai dû télécharger ton exemple pour le faire marcher !
Là, j'avais jamais vu une écriture pareil pour du codage . complètement largué grave .
Juste , comme je ne saisi même plus la signification ,
comment fait t-on pour que ça soit sur F13
et que surtout que c'est par macro que je récupère le body d'un mail actif c'est donc de le formater directement à la suite sur F13
je ne peux pas avoir en double ce "Prenom-nom" ailleurs
Vraiment impressionné et aussi rapide , c'est dingue depuis 15h je tourne en rond
ta macro marche pour la colonne A et les résultats se font sur colonne B
J'aimerais juste que cette fonction se fasse sur F13 uniquement.
(Ce fichier à une bonne centaines de macros)
une de ces macros récupère le ce PrenomNOM .en F13
Donc avec ta fonction qu'il le reformate sur ce même F13
assez clair ?
euh ... si vraiment tu pourrais juste rajouter si tu veux bien quelques explications comme
$(t$)
Len(t)
SauteMaj = t
3 "t" et n'arrive même pas à en faire le lien !!
( le UCase ainsi utilisé alors que dans tous les forums ils n'en parlent que pour le rendre global a une cellule sans distinguer les subtilités je le laisse pour plus tard !)
en fait dans ton code je ne vois pas du tout comment ça apparaît qu'il va aller rechercher sur colonne A pour donner résultat sur colonne B. Donc je ne peux modifier tout seul pour selectionner F13
j'espère cette fois-ci que tu me comprends ?
l'écart est tel que ce qui est simple pour toi est un brouillard absolu pour moi
Job75 merci, un grand merci
J'ai enfin compris (enfin presque)
Je n'avais pas compris que la cellule avait son code egalement ( en A1 par exemple =SauteMaj(P13))
J'ai pu donc adapté ton code
Supergénial
merci bcp