Recherche en vba d'un format de cellule

Le
Gilbert
Bonjour,

Je veux séparer des données dans des classeurs existants. La seule chose qui
permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate

Comment puis-je spécifier le format à rechercher?

Merci d'avance

--
Cordialement,

Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #5079551
bonjour Gilbert,

ce n'est pas possible avec Find mais il y a une possibilité avec une fonction perso,
mais attention est ne se recalcule pas tout seul, il faut appuyer sur F9

Function EstBonFormat(cellule As Range) As Integer
Application.Volatile
With cellule.Borders(xlEdgeTop)
If .LineStyle = xlContinuous And .Weight = xlThick Then EstBonFormat = 1
End With
End Function

isabelle

Bonjour,

Je veux séparer des données dans des classeurs existants. La seule chose qui
permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate

Comment puis-je spécifier le format à rechercher?

Merci d'avance



Gilbert
Le #5079541
Merci Isabelle
Je vais tester ça, mais je n'ai pas compris ce qui ne se recalcule pas tout
seul....

--
Cordialement,

Gilbert


"isabelle" a écrit dans le message de
news:
bonjour Gilbert,

ce n'est pas possible avec Find mais il y a une possibilité avec une
fonction perso,

mais attention est ne se recalcule pas tout seul, il faut appuyer sur F9

Function EstBonFormat(cellule As Range) As Integer
Application.Volatile
With cellule.Borders(xlEdgeTop)
If .LineStyle = xlContinuous And .Weight = xlThick Then
EstBonFormat = 1

End With
End Function

isabelle

Bonjour,

Je veux séparer des données dans des classeurs existants. La seule chose
qui


permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate

Comment puis-je spécifier le format à rechercher?

Merci d'avance





MichDenis
Le #5079481
| > Comment puis-je spécifier le format à rechercher?

| ce n'est pas possible avec Find mais il y a une possibilité avec une fonction perso,
| mais attention est ne se recalcule pas tout seul, il faut appuyer sur F9

Voici un exemple comment faire pour utiliser la méthode "find"
pour rechercher un format et boucler ....

Évidemment, je compte sur toi pour adapter cette procédure
au besoin du demandeur !

;-))

Rechercher un format de cellules particulier et Boucler

---------------------------------------------
Sub TrouverFormat()

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
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1")
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", 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:="", after:¬tiveCell, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub






Je veux séparer des données dans des classeurs existants. La seule chose qui
permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate


Merci d'avance



Gilbert
Le #5079471
Désolé pour l'autre message. Je viens de comprendre (dans l'aide d'Excel) ce
qu'est une fonction volatile.
Merci

--
Cordialement,

Gilbert


"isabelle" a écrit dans le message de
news:
bonjour Gilbert,

ce n'est pas possible avec Find mais il y a une possibilité avec une
fonction perso,

mais attention est ne se recalcule pas tout seul, il faut appuyer sur F9

Function EstBonFormat(cellule As Range) As Integer
Application.Volatile
With cellule.Borders(xlEdgeTop)
If .LineStyle = xlContinuous And .Weight = xlThick Then
EstBonFormat = 1

End With
End Function

isabelle

Bonjour,

Je veux séparer des données dans des classeurs existants. La seule chose
qui


permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate

Comment puis-je spécifier le format à rechercher?

Merci d'avance





isabelle
Le #5079421
salut Denis,

tu viens de me faire découvrir quelque chose que je n'avais pas remarqué, merci à toi,

isabelle

| > Comment puis-je spécifier le format à rechercher?

| ce n'est pas possible avec Find mais il y a une possibilité avec une fonction perso,
| mais attention est ne se recalcule pas tout seul, il faut appuyer sur F9

Voici un exemple comment faire pour utiliser la méthode "find"
pour rechercher un format et boucler ....

Évidemment, je compte sur toi pour adapter cette procédure
au besoin du demandeur !

;-))

Rechercher un format de cellules particulier et Boucler

---------------------------------------------
Sub TrouverFormat()

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
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1")
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", 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:="", after:¬tiveCell, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub





Je veux séparer des données dans des classeurs existants. La seule chose qui
permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate


Merci d'avance







Gilbert
Le #5079321
Magnifique! Merci beaucoup. Je vais adapter ça.

--
Cordialement,

Gilbert


"MichDenis" news:uzc$
| > Comment puis-je spécifier le format à rechercher?

| ce n'est pas possible avec Find mais il y a une possibilité avec une
fonction perso,

| mais attention est ne se recalcule pas tout seul, il faut appuyer sur F9

Voici un exemple comment faire pour utiliser la méthode "find"
pour rechercher un format et boucler ....

Évidemment, je compte sur toi pour adapter cette procédure
au besoin du demandeur !

;-))

Rechercher un format de cellules particulier et Boucler

---------------------------------------------
Sub TrouverFormat()

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
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1")
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", 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:="", after:¬tiveCell, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub






Je veux séparer des données dans des classeurs existants. La seule chose
qui


permet de les différencier, c'est une bordure supérieure en trait épais.
En faisant une macro (qui fonctionne), j'ai obtenu le code suivant :
Cells.Find(What:="", After:¬tiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:=True).Activate


Merci d'avance







Publicité
Poster une réponse
Anonyme