Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cherche personne pouvant me modifier une macro.

3 réponses
Avatar
lct964
bonjour =E0 tous,
Une amie m'a =E9crit une macro afin de pouvoir rechercher dans un
classeur excel UNE cellule que j'ai colori=E9e.
je voudrais pouvoir demander =E0 cette macro de pouvoir m'en reperer
plusieurs =E0 la fois (trois serait super).
Quelqu'un parmi vous saurait il r=E9aliser ceci.
Merci de votre aide. LCT

3 réponses

Avatar
Daniel.C
Bonjour.
Pour qu'on puisse la modifier, il faudrait que la mette à disposition...
Poste-la ici en retour.
Cordialement.
Daniel
a écrit dans le message de news:

bonjour à tous,
Une amie m'a écrit une macro afin de pouvoir rechercher dans un
classeur excel UNE cellule que j'ai coloriée.
je voudrais pouvoir demander à cette macro de pouvoir m'en reperer
plusieurs à la fois (trois serait super).
Quelqu'un parmi vous saurait il réaliser ceci.
Merci de votre aide. LCT
Avatar
MichDenis
Cette macro recherche au maximum 3 cellules (les 3 premières
de la plage désignée) ayant le même format de cellule sans
égard à leur contenu... elles peuvent être vide aussi !

Tu dois déterminer dans la procédure le format des cellules
que tu désires rechercher là

à titre d'exemple :

With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.ColorIndex = 3
.Font.Size = 14
.Font.Bold = True
'etc ...
'La liste pourrait être plus longue ...
End With

Et tu peux limiter l'étendue de la recherche dans
une plage de cellule bien précises :

With Worksheets("Feuil1")
Set Rg = .UsedRange ' OU .Range("A1:A50") ....
End With



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

Dim Rg As Range, Sel As Range
Dim LeCellFormat As CellFormat
Dim Nb As Integer

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

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1")
Set Rg = .UsedRange
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
If Sel Is Nothing Then
Set Sel = c
c.Select
Else
Set Sel = Union(Sel, c)
c.Select
End If
Nb = Nb + 1
'Lorsque la macro a repéré 3 cellules, arrêt
If Nb = 3 Then Exit Do
'pour passer à la cellule suivante ...
Set c = .Find(What:="", after:¬tiveCell, SearchFormat:=True)
Loop Until c.Address = adr
End If
End With
'sélection des 3 cellules
If Not Sel Is Nothing Then Sel.Select


End Sub
'----------------------------------------






a écrit dans le message de news:

bonjour à tous,
Une amie m'a écrit une macro afin de pouvoir rechercher dans un
classeur excel UNE cellule que j'ai coloriée.
je voudrais pouvoir demander à cette macro de pouvoir m'en reperer
plusieurs à la fois (trois serait super).
Quelqu'un parmi vous saurait il réaliser ceci.
Merci de votre aide. LCT
Avatar
MichDenis
C'est la même procédure mois 2 lignes de code en moins
sélectionnant les cellules : c.Select


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

Dim Rg As Range, Sel As Range
Dim LeCellFormat As CellFormat
Dim Nb As Integer

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

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1")
Set Rg = .UsedRange
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
If Sel Is Nothing Then
Set Sel = c
Else
Set Sel = Union(Sel, c)
End If
Nb = Nb + 1
'Lorsque la macro a repéré 3 cellules, arrêt
If Nb = 3 Then Exit Do
'pour passer à la cellule suivante ...
Set c = .Find(What:="", after:=c, SearchFormat:=True)
Loop Until c.Address = adr
End If
End With
'sélection des 3 cellules
If Not Sel Is Nothing Then Sel.Select

End Sub
'----------------------------------