Boucle en vba Excel
Résolu/Fermé
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
-
22 juin 2009 à 12:05
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 - 22 juin 2009 à 16:33
garion28 Messages postés 1545 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 - 22 juin 2009 à 16:33
A voir également:
- For i in range vba
- I showkeyplus - Télécharger - Utilitaires
- In da place - Forum Mail
- Downloader for pc - Télécharger - Téléchargement & Transfert
- I tréma - Forum Windows
- Deco in paris avis ✓ - Forum Consommation & Internet
6 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
22 juin 2009 à 12:37
22 juin 2009 à 12:37
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)
wida
Messages postés
150
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
28 novembre 2011
17
22 juin 2009 à 13:03
22 juin 2009 à 13:03
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.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
22 juin 2009 à 12:42
22 juin 2009 à 12:42
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
22 juin 2009 à 14:29
22 juin 2009 à 14:29
Excuses-moi, Polux, je n'avais pas rafraichi...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
22 juin 2009 à 14:34
22 juin 2009 à 14:34
Excuses-moi, Polux, je n'avais pas rafraichi...
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
22 juin 2009 à 15:41
22 juin 2009 à 15:41
Pas de problème ... deux avis valent mieux qu'un. Mon post 5 s'adresse à Garion ... ^^
;o)
;o)
garion28
Messages postés
1545
Date d'inscription
mardi 16 juin 2009
Statut
Membre
Dernière intervention
3 avril 2011
406
22 juin 2009 à 16:33
22 juin 2009 à 16:33
^^ oui je vien de voir qu'il fesai -1 a un moment, donc logique que ca bug (en vba je code un peu comme je réfléchi donc ya pas (ou très peu) d'erreur de ce genre là)
22 juin 2009 à 12:43
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)
22 juin 2009 à 14:21