Excel-VBA recherche verticale du 1er mot gras

Résolu
mod77 Messages postés 1320 Date d'inscription   Statut Membre Dernière intervention   -  
mod77 Messages postés 1320 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je voudrais récupérer dans une colonne le 1er mot écrit en gras par une recherche verticale vers le haut.
J'explique: dans la colonne A j'ai des noms qui sont inscrit et certaine fois se sont des mots en gras, ainsi:
[A]
RdC
Salle video
salle chimie
Niv 1
Salle info
..
Je récupère dans un tableau en colonne H les noms de certaine salle mais je voudrais aussi récupérer le nom du niveau qui est en gras pour le mettre en colonne G, ainsi:
[G] [H]
RdC Salle

Quelqu'un peut-il m'écrire comment le faire en vba SVP ?

Merci
Configuration: Windows XP
Excel 2002 SP-2

4 réponses

  1. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Une petite procédure pour trouver les cellules en gras.
    Il suffit de l'adapter selon vos besoin.
    Sub trouverGras()
    ' boucle sur la colonne A de la ligne 50 à 1
    ' attention, commence par la fin
    For c = 50 To 1 Step -1
    If Cells(c, 1).Font.Bold = True Then
    MsgBox "la cellule " & Cells(c, 1).Address & " est en gras"
    End If
    Next c
    End Sub
    --

    Salutations.
    Jean-Pierre
    0
  2. mod77 Messages postés 1320 Date d'inscription   Statut Membre Dernière intervention   53
     
    Bonsoir Le Pingou,

    Je ne peux malheureusement pas adapter votre solution, se serait trop long pour l'expliquer (a cause du double clic), mais existe une formule qui ressemblerait à celle-ci, SVP ?

    livide = Cells(Columns(1).Cells.Count, [“A”]).End(xlUp).Row - 1

    Si j'essaie: motgras = cells(columns(1).font.bold, ["A"]).End(xlUp).Row -1

    est-ce possible ?
    0
  3. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     
    Bonjour,
    Désolé, pas de formule de ce type à ma connaissance.
    Par contre mon code est facile à intégrer, vous devriez avoir ses lignes dans votre procédure:
    livide = Cells(Columns(1).Cells.Count, ["A"]).End(xlUp).Row - 1
    For c = livide To 1 Step -1
    If Cells(c, 1).Font.Bold = True Then
    MsgBox "la cellule " & Cells(c, 1).Address & " est en gras"
    End If
    Next c

    Vous récupérez l'adresse de la cellule au niveau de la [MsgBox] !
    0
  4. mod77 Messages postés 1320 Date d'inscription   Statut Membre Dernière intervention   53
     
    Merci Le Pingou!
    0