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

Comment faire une boucle de ce code au lieu de l'ecrire plusieur f

7 réponses
Avatar
Angelo
Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien compris
la réponse alors je redemande: je dois faire des macro afin d'automatisé un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone "semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone "semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini

7 réponses

Avatar
Daniel
Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message de news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien
compris
la réponse alors je redemande: je dois faire des macro afin d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone "semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone "semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini


Avatar
Angelo
En fait je récupère la derniere case non vide de la zone semaine1 (qui est
défini sur la feuille1) puis je met le résultat en A2 sur la feuille 2, en A3
il y aura le résultat de semaine2 donc en A4 il n'y aura rien


Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message de news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien
compris
la réponse alors je redemande: je dois faire des macro afin d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone "semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone "semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini







Avatar
Daniel
Pourquoi veux-tu faire une boucle,dans ce cas-là ?
Daniel
"Angelo" a écrit dans le message de news:

En fait je récupère la derniere case non vide de la zone semaine1 (qui est
défini sur la feuille1) puis je met le résultat en A2 sur la feuille 2, en
A3
il y aura le résultat de semaine2 donc en A4 il n'y aura rien


Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message de
news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien
compris
la réponse alors je redemande: je dois faire des macro afin
d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini









Avatar
Angelo
car je ne veux pas le faire que 2 fois comme je l'ai dis (ca c'etait pour
faire simple) mais un certain nombre de fois (environ 90 fois ) donc
j'aimerais ne pas réecrir toujours la meme chose avec juste le nom de la zone
qui change


Pourquoi veux-tu faire une boucle,dans ce cas-là ?
Daniel
"Angelo" a écrit dans le message de news:

En fait je récupère la derniere case non vide de la zone semaine1 (qui est
défini sur la feuille1) puis je met le résultat en A2 sur la feuille 2, en
A3
il y aura le résultat de semaine2 donc en A4 il n'y aura rien


Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message de
news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien
compris
la réponse alors je redemande: je dois faire des macro afin
d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini














Avatar
Daniel
Ce qui suit est un EXEMPLE de boucle
Les résultats vont se loger 90 fois en A2 et A3 :

Sub test2()
Dim i As Integer, Sem As String
Sem = "semaine"
For i = 1 To 90
Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _
"=INDEX(sem & i,MAX(ROW(sem & i)*NOT(ISBLANK(sem & i)))-ROW(sem
& i)+1)"

'range le résultat de la derniere case non vide correspondant à la
zone
'"semaine2" en A3
Range("A3").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _
"=INDEX(sem & i+1,MAX(ROW(sem & i+1)*NOT(ISBLANK(sem &
i+1)))-ROW(sem & i+1)+1)"
Next i
End Sub

Cordialement.
Daniel
"Angelo" a écrit dans le message de news:

car je ne veux pas le faire que 2 fois comme je l'ai dis (ca c'etait pour
faire simple) mais un certain nombre de fois (environ 90 fois ) donc
j'aimerais ne pas réecrir toujours la meme chose avec juste le nom de la
zone
qui change


Pourquoi veux-tu faire une boucle,dans ce cas-là ?
Daniel
"Angelo" a écrit dans le message de
news:

En fait je récupère la derniere case non vide de la zone semaine1 (qui
est
défini sur la feuille1) puis je met le résultat en A2 sur la feuille 2,
en
A3
il y aura le résultat de semaine2 donc en A4 il n'y aura rien


Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en
A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message de
news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien
compris
la réponse alors je redemande: je dois faire des macro afin
d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et
j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la
zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini
















Avatar
Angelo
Le code que tu m'a donné ne fonctionne pas ca me renvois une erreur
d'execution 1004:
Impossible de définir la propriété FormulaArray de la classe Range


Ce qui suit est un EXEMPLE de boucle
Les résultats vont se loger 90 fois en A2 et A3 :

Sub test2()
Dim i As Integer, Sem As String
Sem = "semaine"
For i = 1 To 90
Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _
"=INDEX(sem & i,MAX(ROW(sem & i)*NOT(ISBLANK(sem & i)))-ROW(sem
& i)+1)"

'range le résultat de la derniere case non vide correspondant à la
zone
'"semaine2" en A3
Range("A3").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _
"=INDEX(sem & i+1,MAX(ROW(sem & i+1)*NOT(ISBLANK(sem &
i+1)))-ROW(sem & i+1)+1)"
Next i
End Sub

Cordialement.
Daniel
"Angelo" a écrit dans le message de news:

car je ne veux pas le faire que 2 fois comme je l'ai dis (ca c'etait pour
faire simple) mais un certain nombre de fois (environ 90 fois ) donc
j'aimerais ne pas réecrir toujours la meme chose avec juste le nom de la
zone
qui change


Pourquoi veux-tu faire une boucle,dans ce cas-là ?
Daniel
"Angelo" a écrit dans le message de
news:

En fait je récupère la derniere case non vide de la zone semaine1 (qui
est
défini sur la feuille1) puis je met le résultat en A2 sur la feuille 2,
en
A3
il y aura le résultat de semaine2 donc en A4 il n'y aura rien


Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en
A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message de
news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas bien
compris
la réponse alors je redemande: je dois faire des macro afin
d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et
j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à la
zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini





















Avatar
Youky
Salut,
Si la semaine1 est sur feuil1, ligne2
et semaine2 sur feuil1, ligne3
et ainsi de suite, cette macro recopie la valeur de la derniere cellule de
chaque ligne en feuil2

Sub Macro1()
ligne = 2
For lig = 2 To Feuil1.Cells.SpecialCells(xlCellTypeLastCell).Row
col = Feuil1.Range("J" & lig).End(xlToLeft).Column
Feuil2.Cells(ligne, 1) = Feuil1.Cells(lig, col)
ligne = ligne + 1
Next
End Sub

Youky

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

Le code que tu m'a donné ne fonctionne pas ca me renvois une erreur
d'execution 1004:
Impossible de définir la propriété FormulaArray de la classe Range


Ce qui suit est un EXEMPLE de boucle
Les résultats vont se loger 90 fois en A2 et A3 :

Sub test2()
Dim i As Integer, Sem As String
Sem = "semaine"
For i = 1 To 90
Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _
"=INDEX(sem & i,MAX(ROW(sem & i)*NOT(ISBLANK(sem &
i)))-ROW(sem
& i)+1)"

'range le résultat de la derniere case non vide correspondant à
la
zone
'"semaine2" en A3
Range("A3").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _
"=INDEX(sem & i+1,MAX(ROW(sem & i+1)*NOT(ISBLANK(sem &
i+1)))-ROW(sem & i+1)+1)"
Next i
End Sub

Cordialement.
Daniel
"Angelo" a écrit dans le message de
news:

car je ne veux pas le faire que 2 fois comme je l'ai dis (ca c'etait
pour
faire simple) mais un certain nombre de fois (environ 90 fois ) donc
j'aimerais ne pas réecrir toujours la meme chose avec juste le nom de
la
zone
qui change


Pourquoi veux-tu faire une boucle,dans ce cas-là ?
Daniel
"Angelo" a écrit dans le message de
news:

En fait je récupère la derniere case non vide de la zone semaine1
(qui
est
défini sur la feuille1) puis je met le résultat en A2 sur la feuille
2,
en
A3
il y aura le résultat de semaine2 donc en A4 il n'y aura rien


Bonjour.
Je ne comprends pas bien; tu utilises semaine1 en A2 et semaine2 en
A3.
Que veux-tu faire en A4 ? et jusqu'à quelle cellule ?
Cordialement.
Daniel
"Angelo" a écrit dans le message
de
news:

Bonjour j'ai déjà posé le meme style de question mais j'ai pas
bien
compris
la réponse alors je redemande: je dois faire des macro afin
d'automatisé
un
certain nombre de chose
DOnc je fais un code qui fais plusieur fois la meme chose et
j'aimerais
savoir comment faire pour faire une boucle ?
voici mon code :

Range("A2").Select
'recherche de la derniere case non vide correspondant à la zone
"semaine1"
Selection.FormulaArray = _

"=INDEX(semaine1,MAX(ROW(semaine1)*NOT(ISBLANK(semaine1)))-ROW(semaine1)+1)"

'range le résultat de la derniere case non vide correspondant à
la
zone
"semaine2" en A3
Range("A3").Select

'recherche de la derniere case non vide correspondant à la zone
"semaine2"
Selection.FormulaArray = _

"=INDEX(semaine2,MAX(ROW(semaine2)*NOT(ISBLANK(semaine2)))-ROW(semaine2)+1)"

Ps les 2 zones semaine1 et semaine2 sont déjà défini