Excel-VBA recherche verticale du 1er mot gras

Résolu
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   -  
mod77 Messages postés 1284 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
A voir également:

4 réponses

Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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
mod77 Messages postés 1284 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
Le Pingou Messages postés 12250 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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
mod77 Messages postés 1284 Date d'inscription   Statut Membre Dernière intervention   53
 
Merci Le Pingou!
0