Boucle en vba Excel
Résolu
wida
Messages postés
150
Date d'inscription
Statut
Membre
Dernière intervention
-
garion28 Messages postés 1545 Date d'inscription Statut Membre Dernière intervention -
garion28 Messages postés 1545 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
est ce qu'il possible, avec vba excel, de faire une boucle du genre
Dim i as integer
for(i=1; i<10; i+1)
{
range(Ai) :=range(Ai-1)+range(Bi)
}
je sais que syntaxiquement c faux!! pour la boucle je pourai utiliser "do until" s'il n'ya pas le for mais parcontre pour gerer les cellule ainsi j'ai pas d'idée comment faire!!
j'ai besoin de votre aide!
Merci.
est ce qu'il possible, avec vba excel, de faire une boucle du genre
Dim i as integer
for(i=1; i<10; i+1)
{
range(Ai) :=range(Ai-1)+range(Bi)
}
je sais que syntaxiquement c faux!! pour la boucle je pourai utiliser "do until" s'il n'ya pas le for mais parcontre pour gerer les cellule ainsi j'ai pas d'idée comment faire!!
j'ai besoin de votre aide!
Merci.
A voir également:
- For i in range vba
- Downloader for pc - Télécharger - Téléchargement & Transfert
- In da place - Forum Mail
- Vba range avec variable ✓ - Forum VB / VBA
- Dc in - Forum Audio
- Navigation in private - Guide
6 réponses
Bonjour,
Tu peux utiliser le For ... Next ou le While ... Wend ou le Do ... Loop.
Ou
Le problème c'est que tu vas lever une exception dès ta première boucle, dans les 2 cas.
i étant le numéro de ligne, si tu commences à 1, quand tu fais : Sheets(1).Range("A" & i - 1), i sera égal à 0. Hors la ligne 0 n'existe pas dans Excel. La numérotation des lignes, comme des colonnes, commence à 1.
;o)
Tu peux utiliser le For ... Next ou le While ... Wend ou le Do ... Loop.
Dim i As Integer For i = 1 To 10 Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & i - 1) + Sheets(1).Range("B" & i) Next i
Ou
Dim i As Integer i = 1 While i < 10 Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & i - 1) + Sheets(1).Range("B" & i) i = i + 1 Wend
Le problème c'est que tu vas lever une exception dès ta première boucle, dans les 2 cas.
i étant le numéro de ligne, si tu commences à 1, quand tu fais : Sheets(1).Range("A" & i - 1), i sera égal à 0. Hors la ligne 0 n'existe pas dans Excel. La numérotation des lignes, comme des colonnes, commence à 1.
;o)
Merci beaucoup pour vos reponses claires et bien détaillées.
au fait le range Ai-1 correspond a la cellule au dessus, j'ai mis i=1 dans cet exemple juste pour simplifier.
Merci à tous, les deux methodes celle de Polux31 et de michel_m marchent bien.
au fait le range Ai-1 correspond a la cellule au dessus, j'ai mis i=1 dans cet exemple juste pour simplifier.
Merci à tous, les deux methodes celle de Polux31 et de michel_m marchent bien.
bonjour
a quoi correspond range(Ai-1)?
cellule au dessus: si oui, pb si i=1
ou cellule
range(Ai)-1
1° cas:
dim i as integer 'en VBA les variables doivent de préférence être déclarées
for i=2 to 10
cells(i,1)=cells(i-1,1)+cells(i,2)
next
2° cas:
for i=1 to 10
cells(i,1)=cells(i,1)+cells(i,2)-1
next
a quoi correspond range(Ai-1)?
cellule au dessus: si oui, pb si i=1
ou cellule
range(Ai)-1
1° cas:
dim i as integer 'en VBA les variables doivent de préférence être déclarées
for i=2 to 10
cells(i,1)=cells(i-1,1)+cells(i,2)
next
2° cas:
for i=1 to 10
cells(i,1)=cells(i,1)+cells(i,2)-1
next
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mais si ton i commence a 1 et non pas a 0 alors il n'y a pas de problème (premier passage dans la boucle: i=1)