OVH Cloud OVH Cloud

Recherche dans cellule

1 réponse
Avatar
Frank
Bonjour

J'ai la formule suivante

Dim c As Range
For Each c In Range("A:A")
Set trouve1 = Cells.Find(What:="*aro", after:=ActiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False _
, SearchFormat:=False)
If trouve1 Is Nothing Then Module9.Poutrelle_tji
trouve1.Select
...
...
...
next c

mais le probleme c'est que j'ai juste une cellule dans ma feuille qui
commence par "*aro" donc il me la trouve, fait quelques opération et
lorsqu'il arrive a mon next c il recommence (ce qui est normal) et il me
retrouve toujour la meme cellule. Pourtant je lui dit de chercher apres la
cellule active. Donc je me retrouve avec une boucle :(

il faut qu'il me trouve la cellule qui commence par "*aro" apres la cellule
active et l'orsqu'il arrive a la fin du classeur et bien arreter la
recherche et non retrouver la meme cellule

quelqu'un a une iddée comment faire svp ?

Merci

1 réponse

Avatar
...Patrick
Hello,

ce code fonctionne, tu peux surement adapter.

Sub Macro2()
Dim cell As Range
Dim I
Sheets("Feuil1").Select
Range("A1").Select
Selection.CurrentRegion.Select
Dim Myarray As Variant, C, Firstaddress
Dim Tot As Long, Cible As Range
Myarray = Array("*aro", "v", "h", "b", "g", "t")
For I = 0 To UBound(Myarray)
With Selection
Dim Trouv
Trouv = Myarray(I)
'Dim cel As Range
'err = IsError(cel.Value)
Set C = .Find(What:=Trouv, LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
Firstaddress = C.Address
Do
C.Interior.ColorIndex = 6
Tot = Tot + C.Offset(0, 2).Value
'C.Interior.ColorIndex = xlNone
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Firstaddress
End If
Set Cible = Range("A65000").End(xlUp)(2)
Cible = Myarray(I)
Cible.Offset(0, 1).Value = Tot
Tot = 0
End With
Next I
End Sub



"Frank" a écrit dans le message de news:

Bonjour

J'ai la formule suivante

Dim c As Range
For Each c In Range("A:A")
Set trouve1 = Cells.Find(What:="*aro", after:¬tiveCell,
LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse _
, SearchFormat:úlse)
If trouve1 Is Nothing Then Module9.Poutrelle_tji
trouve1.Select
...
...
...
next c

mais le probleme c'est que j'ai juste une cellule dans ma feuille qui
commence par "*aro" donc il me la trouve, fait quelques opération et
lorsqu'il arrive a mon next c il recommence (ce qui est normal) et il me
retrouve toujour la meme cellule. Pourtant je lui dit de chercher apres la
cellule active. Donc je me retrouve avec une boucle :(

il faut qu'il me trouve la cellule qui commence par "*aro" apres la
cellule active et l'orsqu'il arrive a la fin du classeur et bien arreter
la recherche et non retrouver la meme cellule

quelqu'un a une iddée comment faire svp ?

Merci