1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

XL 2010 Majuscule & espace avec critère (Résolu)

Discussion dans 'Forum Excel' démarrée par Kael_88, 5 Décembre 2018.

  1. Kael_88

    Kael_88 XLDnaute Occasionnel

    Inscrit depuis le :
    25 Mars 2013
    Messages :
    142
    "J'aime" reçus :
    0
    Utilise:
    Excel 2007 (PC)
    Le Forum,

    Mon problème se situe sur la forme de mon écriture dans la cellule de la Colonne D après validation,

    Problème 1 :
    Il faudrait qu'il transforme l'écriture de la cellule en Majuscule.

    Problème 2:
    Entre le premier caractère et le reste des donnée, il me faudrait un espace sauf si la donnée commence par "DEVIS", l'espace n'est plus après le premier caractère mais après le mot "DEVIS"

    PS: Le tout doit se faire par macro (pas de formule et pas de MFC)
    Merci

    Cordialement
     

    Pièces jointes:

    Dernière édition: 5 Décembre 2018
  2. Chargement...

    Discussions similaires - Majuscule espace critère Forum Date
    XL 2010 vba si une texte box contient + accent + majuscule + espace Forum Excel 6 Septembre 2017
    XL 2013 Mettre en majuscule les lettre avant l'espace Forum Excel 22 Août 2017
    Majuscule et sans espace Forum Excel 17 Juin 2005
    XL 2010 Différencier les minuscules et majuscules Forum Excel 29 Novembre 2018
    XL 2013 code qui passe tout seul de minuscule a majuscule dans le VBA!!! Forum Excel 20 Juin 2018

  3. job75

    job75 XLDnaute Barbatruc

    Inscrit depuis le :
    15 Mai 2008
    Messages :
    25766
    "J'aime" reçus :
    2191
    Sexe :
    Masculin
    Habite à:
    Paris
    Utilise:
    Excel 2013 (PC)
    Bonsoir Kael_88,

    Fichier joint avec la macro Worksheet_Change complétée :
    Code (Text):
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range, tablo, i&, x$
    If FilterMode Then ShowAllData 'si la feuille est filtrée
    Application.EnableEvents = False
    If Target.Column = 1 And Target.Count = 1 Then
        If Cells(Target.Row, 1) <> "" Then Cells(Target.Row, 3) = Date
        If Time >= "05" Then Cells(Target.Row, 3).Interior.ColorIndex = 33
        If Time >= "13" Then Cells(Target.Row, 3).Interior.ColorIndex = 4
        If Time >= "21" Or Time < "05" Then Cells(Target.Row, 3).Interior.ColorIndex = 6
        If Target = "" Then Cells(Target.Row, 3).ClearContents: Cells(Target.Row, 3).Interior.ColorIndex = xlNone
    End If
    Set r = Intersect(Target, Range("D2:D" & Rows.Count), UsedRange)
    If Not r Is Nothing Then
        For Each r In r.Areas 'si entrées multiples (copier-coller)
            tablo = r.Resize(, 2) 'matrice plus rapide, au moins 2 éléments
            For i = 1 To UBound(tablo)
                x = UCase(Replace(tablo(i, 1), " ", ""))
                If Left(x, 5) = "DEVIS" Then
                    tablo(i, 1) = "DEVIS " & Mid(x, 6)
                ElseIf x <> "" Then
                    tablo(i, 1) = Left(x, 1) & " " & Mid(x, 2)
                End If
            Next i
            r = tablo 'restitution
        Next r
    End If
    Application.EnableEvents = True
    End Sub
    Bonne nuit.
     

    Pièces jointes:

  4. Kael_88

    Kael_88 XLDnaute Occasionnel

    Inscrit depuis le :
    25 Mars 2013
    Messages :
    142
    "J'aime" reçus :
    0
    Utilise:
    Excel 2007 (PC)
    Le Forum,@job75,

    Merci de ta réactivité, c'est parfait, comme d'habitude.

    Encore merci.

    Cordialement
     

Partager cette page