Excel mise en forme

vda30 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai fait une petite feuille de calcul simple qui comporte 1 plage nom prénom or je voudrais automatiser la mise en majuscule du nom et du prénom dans cette plages , que ça se fasse à la saisie dès l'ouverture de la feuille bref que ça soit automatisé.
Merci pour votre aide



--
Il est fort possible que tes résultats ne soient pas à la hauteur de tes espérances, dans ce moments là dis toi que le Grand Chêne aussi ,un jour, a été un gland.

3 réponses

  1. Darkam1 Messages postés 181 Statut Membre 18
     
    Essaye donc ça : = A1 & " " & majuscule(B3).

    Qui devient : = nompropre(A3) & " " & majuscule(B3).
    = prenom(A3) & " " & majuscule(B3).

    Bye bye :)
    0
    1. vda30 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   20
       
      Merci de ta réponse, mais.....

      j'aurais souhaité le faire sous forme d'une macro derrière ma feuille je suppose que ça doit bien exister.....???
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    oui bien sur que ça existe suffit de demander ou certainement en cherchant un peu sur le forum ou sur Google

    clic droit sur l'onglet de ta feuille/Visualiser le code
    colle ce code pour trater la plage A2 à A100

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
    If Target.Count > 1 Or Target = "" Then Exit Sub
    Dim Tablo As Variant
    Application.EnableEvents = False
    Tablo = Split(Application.Proper(Target), " ")
    If UBound(Tablo) >= 0 Then Tablo(0) = UCase(Tablo(0))
    Target = Join(Tablo)
    Application.EnableEvents = True
    End If
    End Sub

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Il est préférable de placer le nom et le prénom dans 2 colonnes distinctes car quand ils sont composés de plusieurs mots, il est difficile des distinguer l'un de l'autre.

    Voici un code qui fonctionne aussi pour les sélections multiples et les copier coller, avec le NOM colonne A et le Prénom colonne B
    Option Explicit 
    
    Private Sub Worksheet_Change(ByVal Target As Range) 
      Call ChangerLaCasse(Intersect(Target, ActiveSheet.UsedRange)) 
    End Sub 
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
      Call ChangerLaCasse(Intersect(Target, ActiveSheet.UsedRange)) 
    End Sub 
    
    Private Sub ChangerLaCasse(Cible As Range) 
      If Cible Is Nothing Then Exit Sub 
      If Intersect(Cible, Range("A:B")) Is Nothing Then Exit Sub 
      Dim cel As Range 
      Application.EnableEvents = False 
      For Each cel In Cible.Cells 
        If Not Intersect(cel, Range("A:A")) Is Nothing Then 
          cel.Value = UCase(cel.Value) 
        ElseIf Not Intersect(Cible, Range("B:B")) Is Nothing Then 
          cel.Value = Application.WorksheetFunction.Proper(cel.Value) 
        End If 
      Next cel 
      Application.EnableEvents = True 
    End Sub 
    

    Cordialement
    Patrice
    0