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

boucle infinie!

2 réponses
Avatar
aurelie
Re-bonjour à tous
J'écrit une macro qui regarde dans une colonne les cellules où se trouvent
un certain symbole. Une fois ces cellules trouvées, elle documente une autre
colonne (sur la même ligne que la cellule à symbole, elle place "")
Malheureusement la boucle qui me permet de faire ça ne s'arrête pas!?
Voici ma programmation:

Worksheets("B").Rows.EntireRow.Hidden = False

Range(Cells(5, Variables.Range("Pps").Value), Cells(NbreLigneMax,
Variables.Range("Pps").Value)).Select
Selection.FormulaR1C1 = "x"

With Worksheets("B").Columns(colonne)
Set Cellule = .Find(What:=Critere, LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext)

If Not Cellule Is Nothing Then
Do
Worksheets("B").Cells(Cellule.Row, Variables.Range("PPs").Value).Value =
""
i = 1
While Cellule.Offset(i, 0).Value = "" And
Worksheets("B").Cells(Cellule.Offset(i, 0).Row, 1) <> ""
Worksheets("B").Cells(Cellule.Offset(i, 0).Row,
Variables.Range("Pps").Value).Value = ""

i = i + 1
Wend
Set Cellule = .FindNext(Cellule)
Loop While Not Cellule Is Nothing

End If
End With
Application.ScreenUpdating = True
End Sub

Si vous savez pourquoi ma boucle ne s'arrete pas, n'hésitez pas à me répondre.
Merci d'avance pour votre aide

Aurélie

2 réponses

Avatar
AV
A défaut d'avoir tous les éléments je ne peux te répondre précisement au
"Pourquoi ça le fait pas"

J'écrit une macro qui regarde dans une colonne les cellules où se trouvent
un certain symbole. Une fois ces cellules trouvées, elle documente une autre


Sur le plan de la méthode, tu n'as pas intérêt à boucler sur toutes les cellules
mais à utiliser un filtre et à ne boucler que sur les cellules visibles !

AV

Avatar
Elliac
Bonjour,

Quand je fais ce genre de manip je passe plutôt par un compteur. La valeur
de celui-ci est généré par un calcul comptant le nombre d'occurences de la
valeur cherchée : nb=application.countif(range("b2:b65000"),"a")
for cpt= 1 to nb
....
next

Camille

"aurelie" wrote:

Re-bonjour à tous
J'écrit une macro qui regarde dans une colonne les cellules où se trouvent
un certain symbole. Une fois ces cellules trouvées, elle documente une autre
colonne (sur la même ligne que la cellule à symbole, elle place "")
Malheureusement la boucle qui me permet de faire ça ne s'arrête pas!?
Voici ma programmation:

Worksheets("B").Rows.EntireRow.Hidden = False

Range(Cells(5, Variables.Range("Pps").Value), Cells(NbreLigneMax,
Variables.Range("Pps").Value)).Select
Selection.FormulaR1C1 = "x"

With Worksheets("B").Columns(colonne)
Set Cellule = .Find(What:=Critere, LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext)

If Not Cellule Is Nothing Then
Do
Worksheets("B").Cells(Cellule.Row, Variables.Range("PPs").Value).Value =
""
i = 1
While Cellule.Offset(i, 0).Value = "" And
Worksheets("B").Cells(Cellule.Offset(i, 0).Row, 1) <> ""
Worksheets("B").Cells(Cellule.Offset(i, 0).Row,
Variables.Range("Pps").Value).Value = ""

i = i + 1
Wend
Set Cellule = .FindNext(Cellule)
Loop While Not Cellule Is Nothing

End If
End With
Application.ScreenUpdating = True
End Sub

Si vous savez pourquoi ma boucle ne s'arrete pas, n'hésitez pas à me répondre.
Merci d'avance pour votre aide

Aurélie