IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mettre en gras et rouge uniquement les caractères recherchés [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    employé
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Mettre en gras et rouge uniquement les caractères recherchés
    Bonjour,
    mon petit problème, j'aimerais que ce soit juste les lettres recherchées qui s'affiche en gras et rouge.
    Si quelqu'un à une solution car ici cela me met les premiers caractères dans la cellule.
    Par exemple si je recherche "SA" pour "SACS" il va me trouver ceci [BAG LPDE ( SACS PLASTIQUES) et me mettre "BA" en gras et rouge et j'aimerais que ce soit "SA".
    Si quelqu'un peu m'aider, super
    et un tout grand merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub RechercheEtCouleur(Mot As String)
    Dim Rng As Range, Sht As Worksheet
    Dim plage As Range, cel As Range
     
     
    For Each Sht In ThisWorkbook.Sheets
        If Sht.Name <> "Recherche" Then
            Set plage = Sht.Range("B3").CurrentRegion 'range("B3") à changer par la bonne cellule de départ
            For Each cel In plage
                If cel Like "*" & Mot & "*" Then
     
                    With cel.Characters(Start:=InStr(1, Selection, Left(Mot, 1), 1), Length:=Len(Mot))
                    .Font.ColorIndex = 3 'colorie en rouge
                    .Font.Bold = True 'met en gras
                    End With
                    Sht.Activate: cel.Activate
                    If MsgBox("Poursuivre recherche ?", vbYesNo) = vbNo Then
                        Cells.Font.ColorIndex = 0 'remise de la couleur noire
                        Cells.Font.Bold = False 'enlever le gras
                        Exit Sub
                    Else: Sheets("Recherche").Activate
     
                    End If
     
                End If
            Next cel
            For Each cel In plage
                cel.Font.ColorIndex = 0 'remise de la couleur noire
                cel.Font.Bold = False 'enlever le gras
            Next cel
        End If
    Next Sht
    MsgBox "Il n'y a pas d'autres résultats", vbInformation, "Information"
    End Sub

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub RechercheEtCouleur(Mot As String)
        Dim Rng As Range, Sht As Worksheet
        Dim plage As Range, cel As Range
     
     
        For Each Sht In ThisWorkbook.Sheets
            If Sht.Name <> "Recherche" Then
                Set plage = Sht.Range("B3").CurrentRegion 'range("B3") à changer par la bonne cellule de départ
                For Each cel In plage
                    If cel Like "*" & Mot & "*" Then
     
                        With cel.Characters(Start:=InStr(1, cel.Value, Mot), Length:=Len(Mot))
                            .Font.ColorIndex = 3 'colorie en rouge
                            .Font.Bold = True 'met en gras
                        End With
                        Sht.Activate: cel.Activate
                        If MsgBox("Poursuivre recherche ?", vbYesNo) = vbNo Then
                            Cells.Font.ColorIndex = 0 'remise de la couleur noire
                            Cells.Font.Bold = False 'enlever le gras
                            Exit Sub
                        Else: Sheets("Recherche").Activate
     
                        End If
     
                    End If
                Next cel
                For Each cel In plage
                    cel.Font.ColorIndex = 0 'remise de la couleur noire
                    cel.Font.Bold = False 'enlever le gras
                Next cel
            End If
        Next Sht
        MsgBox "Il n'y a pas d'autres résultats", vbInformation, "Information"
    End Sub
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre à l'essai
    Homme Profil pro
    employé
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : employé
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Un tout grand merci Daniel. Cela fonctionne super et c'étais si simple, depuis le temps que je cherche.

    A plus

    Christophe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XHTML 1.0] mettre tous les caractère connu en couleur
    Par winow dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 05/03/2010, 19h45
  2. Réponses: 2
    Dernier message: 19/06/2007, 16h37
  3. Mettre un item de treeview en Gras et rouge
    Par Cazaux-Moutou-Philippe dans le forum Delphi
    Réponses: 13
    Dernier message: 16/05/2007, 22h59
  4. Réponses: 24
    Dernier message: 28/08/2006, 11h55
  5. [Oracle] Mettre en MAJ les caractères spéciaux
    Par Egware dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2006, 18h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo