peux parcourir les cellules d'une zone nommée
Le
Alfred WALLACE

Bonjour,
j'essaye toujours de parcourir ma plage [zone_sujets]
est ce qu'il est possible de "boucler" de la première à la dernière
cellule de cette plage, mais, à la fin , je reviens à la première ?
exemple ma zone va de A1 jusqu'a A10
je cherche à me déplacer de A1, jusqu'a A10, ok, mais, en A10,
est-ce que je peux "boucler" sur A1 lorsque je suis en A10 ?
Merci pour votre aide.
José
j'essaye toujours de parcourir ma plage [zone_sujets]
est ce qu'il est possible de "boucler" de la première à la dernière
cellule de cette plage, mais, à la fin , je reviens à la première ?
exemple ma zone va de A1 jusqu'a A10
je cherche à me déplacer de A1, jusqu'a A10, ok, mais, en A10,
est-ce que je peux "boucler" sur A1 lorsque je suis en A10 ?
Merci pour votre aide.
José
Do
If i = [zone_sujets].Count Then i = 0
i = i + 1
MsgBox Range("zone_sujets")(i).Value
Loop
Cordialement.
Daniel
Je n'ai pas vraiment compris ce que tu tentes de faire :
La procédure est une boucle sans fin, elle passe de A1 jusqu'à A5
et recommence continuellement...
Attention, exécute cette procédure pas à pas en utilisant la touche F8
sinon tu te retrouveras dans une boucle avec aucune possibilité d'en sortir !
'--------------------------------------
Sub test()
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
End Sub
MichD
--------------------------------------------
"Alfred WALLACE" a écrit dans le message de groupe de discussion :
Bonjour,
j'essaye toujours de parcourir ma plage [zone_sujets]
est ce qu'il est possible de "boucler" de la première à la dernière
cellule de cette plage, mais, à la fin , je reviens à la première ?
exemple ma zone va de A1 jusqu'a A10
je cherche à me déplacer de A1, jusqu'a A10, ok, mais, en A10,
est-ce que je peux "boucler" sur A1 lorsque je suis en A10 ?
Merci pour votre aide.
José
je profite de cette remarque pour poser ....
Quand on fait une connerie, et que l'on s'embarque dans une boucle du style
à rallonge qui dure une heure, comment peut-on stopper la macro autrement
qu'avec un marteau ou stopper le PC ?
Bon, tu viens de dire d'utiliser la F8, mais, au départ, on ne sait pas que
l'on a fait une connerie....
merci
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
iukflu$lii$
Bonjour,
Je n'ai pas vraiment compris ce que tu tentes de faire :
La procédure est une boucle sans fin, elle passe de A1 jusqu'à A5
et recommence continuellement...
Attention, exécute cette procédure pas à pas en utilisant la touche F8
sinon tu te retrouveras dans une boucle avec aucune possibilité d'en sortir
!
'--------------------------------------
Sub test()
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
End Sub
MichD
--------------------------------------------
"Alfred WALLACE" a écrit dans le message de groupe de discussion :
Bonjour,
j'essaye toujours de parcourir ma plage [zone_sujets]
est ce qu'il est possible de "boucler" de la première à la dernière
cellule de cette plage, mais, à la fin , je reviens à la première ?
exemple ma zone va de A1 jusqu'a A10
je cherche à me déplacer de A1, jusqu'a A10, ok, mais, en A10,
est-ce que je peux "boucler" sur A1 lorsque je suis en A10 ?
Merci pour votre aide.
José
afin de pouvoir t'assurer une intervention...
Tu peux lancer cette macro et interrompre son déroulement par
la combinaison des touches Ctrl + Pause
'-------------------------------------
Sub test()
Dim A As Integer, X As Integer
'**************
Application.EnableCancelKey = xlInterrupt
'**************
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
End Sub
'-------------------------------------
MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4e0dd23c$0$14258$
Mon Bon Denis
je profite de cette remarque pour poser ....
Quand on fait une connerie, et que l'on s'embarque dans une boucle du style
à rallonge qui dure une heure, comment peut-on stopper la macro autrement
qu'avec un marteau ou stopper le PC ?
Bon, tu viens de dire d'utiliser la F8, mais, au départ, on ne sait pas que
l'on a fait une connerie....
merci
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
iukflu$lii$
Bonjour,
Je n'ai pas vraiment compris ce que tu tentes de faire :
La procédure est une boucle sans fin, elle passe de A1 jusqu'à A5
et recommence continuellement...
Attention, exécute cette procédure pas à pas en utilisant la touche F8
sinon tu te retrouveras dans une boucle avec aucune possibilité d'en sortir
!
'--------------------------------------
Sub test()
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
End Sub
MichD
--------------------------------------------
"Alfred WALLACE" a écrit dans le message de groupe de discussion :
Bonjour,
j'essaye toujours de parcourir ma plage [zone_sujets]
est ce qu'il est possible de "boucler" de la première à la dernière
cellule de cette plage, mais, à la fin , je reviens à la première ?
exemple ma zone va de A1 jusqu'a A10
je cherche à me déplacer de A1, jusqu'a A10, ok, mais, en A10,
est-ce que je peux "boucler" sur A1 lorsque je suis en A10 ?
Merci pour votre aide.
José
MichD
--------------------------------------------
"MichD" a écrit dans le message de groupe de discussion : iukluk$58u$
Tu peux procéder comme suit en modifiant légèrement la macro
afin de pouvoir t'assurer une intervention...
Tu peux lancer cette macro et interrompre son déroulement par
la combinaison des touches Ctrl + Pause
'-------------------------------------
Sub test()
Dim A As Integer, X As Integer
'**************
Application.EnableCancelKey = xlInterrupt
'**************
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
End Sub
'-------------------------------------
MichD
--------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion : 4e0dd23c$0$14258$
Mon Bon Denis
je profite de cette remarque pour poser ....
Quand on fait une connerie, et que l'on s'embarque dans une boucle du style
à rallonge qui dure une heure, comment peut-on stopper la macro autrement
qu'avec un marteau ou stopper le PC ?
Bon, tu viens de dire d'utiliser la F8, mais, au départ, on ne sait pas que
l'on a fait une connerie....
merci
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
iukflu$lii$
Bonjour,
Je n'ai pas vraiment compris ce que tu tentes de faire :
La procédure est une boucle sans fin, elle passe de A1 jusqu'à A5
et recommence continuellement...
Attention, exécute cette procédure pas à pas en utilisant la touche F8
sinon tu te retrouveras dans une boucle avec aucune possibilité d'en sortir
!
'--------------------------------------
Sub test()
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
End Sub
MichD
--------------------------------------------
"Alfred WALLACE" a écrit dans le message de groupe de discussion :
Bonjour,
j'essaye toujours de parcourir ma plage [zone_sujets]
est ce qu'il est possible de "boucler" de la première à la dernière
cellule de cette plage, mais, à la fin , je reviens à la première ?
exemple ma zone va de A1 jusqu'a A10
je cherche à me déplacer de A1, jusqu'a A10, ok, mais, en A10,
est-ce que je peux "boucler" sur A1 lorsque je suis en A10 ?
Merci pour votre aide.
José
pour provoquer la sortie de la boucle...
'------------------------------
Sub test()
Dim GestionErreur As String
Application.EnableCancelKey = xlErrorHandler
On Error GoTo GestionErreur
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
Exit Sub
GestionErreur:
MsgBox "Sortie en douce de la boucle"
End Sub
'------------------------------
MichD
--------------------------------------------
'-------------------------------------
Sub test()
Dim GestionErreur As String, Et_Après As String
Application.EnableCancelKey = xlErrorHandler
On Error GoTo GestionErreur
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
Et_Après:
MsgBox "je continue l'exécution de la macro"
Exit Sub
GestionErreur:
MsgBox "Sortie en douce de la boucle"
Resume Et_Après
End Sub
'-------------------------------------
MichD
--------------------------------------------
merci et très bon WE
jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
iukn67$8mt$
Et une dernière variante...
'-------------------------------------
Sub test()
Dim GestionErreur As String, Et_Après As String
Application.EnableCancelKey = xlErrorHandler
On Error GoTo GestionErreur
Dim A As Integer, X As Integer
With Range("A1:A5")
X = .Cells.Count
Do While A <= X
A = A + 1
.Item(A, 1).Select
If A = X Then
A = 0
End If
Loop
End With
Et_Après:
MsgBox "je continue l'exécution de la macro"
Exit Sub
GestionErreur:
MsgBox "Sortie en douce de la boucle"
Resume Et_Après
End Sub
'-------------------------------------
MichD
--------------------------------------------
José
On 1 juil, 17:02, "Jacquouille"