Bonjour à tous,
Voici une macro que j'ai récupéré sur le net et modifié suivant mes besoins (la macro d'origine recherchait uniquement le format et j'ai besoin du format + la valeur) :
Sub TrouverFormatValeur()
Windows("encoursNew.xls").Activate
Dim ValSem As Integer
ValSem = 9 'Range("E68")
Dim Rg As Range
Dim LeCellFormat As CellFormat
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères des anciennes recherches
.NumberFormat = """Semaine"" #"
'.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With
'Détermine la plage de cellules où s'effectue la recherche
With Worksheets("Raff2")
Set Rg = .Range("A5:A45")
End With
'Trouve la cellule ayant le bon format pour
'y effectuer une ou plusieurs opérations
With Rg
Set C = .Find(What:=ValSem, LookIn:=xlValues, SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.Select
'pour passer à la cellule suivante ...
Set C = .Find(What:=ValSem, LookIn:=xlValues, after:=ActiveCell, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With
End Sub
Le problème...parfois ça marche nickel...parfois, il ne trouve pas !
Je pense qu'il doit y avoir une faute..quelque part...mais où?
Merci pour votre aide,
Francis.
Voici une macro que j'ai récupéré sur le net et modifié suivant mes besoins (la macro d'origine recherchait uniquement le format et j'ai besoin du format + la valeur) :
Sub TrouverFormatValeur()
Windows("encoursNew.xls").Activate
Dim ValSem As Integer
ValSem = 9 'Range("E68")
Dim Rg As Range
Dim LeCellFormat As CellFormat
Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères des anciennes recherches
.NumberFormat = """Semaine"" #"
'.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With
'Détermine la plage de cellules où s'effectue la recherche
With Worksheets("Raff2")
Set Rg = .Range("A5:A45")
End With
'Trouve la cellule ayant le bon format pour
'y effectuer une ou plusieurs opérations
With Rg
Set C = .Find(What:=ValSem, LookIn:=xlValues, SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.Select
'pour passer à la cellule suivante ...
Set C = .Find(What:=ValSem, LookIn:=xlValues, after:=ActiveCell, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With
End Sub
Le problème...parfois ça marche nickel...parfois, il ne trouve pas !
Je pense qu'il doit y avoir une faute..quelque part...mais où?
Merci pour votre aide,
Francis.