VBA - Do... Loop While sans fin!
Résolu
Adee82
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
adee82 -
adee82 -
Bonjour à toutes et à tous!!
Je tente de faire une "Loop... Whille" en calculant colonne par colonne, en se décalant vers la droite. Je voudrais qu'elle s'arrête dès que mes colonnes sont vides, mais ca ne marche pas. La loop décale la sélection jusqu'à la dernière colonne ("IV") et la macro plante.
Voici mon Code :
Range("B1:B12504").Select
Do
Selection.Calculate
Selection.Offset(0, 1).Select
Loop While Not IsEmpty(Selection.Offset(0, 1))
Merci d'Avance!!!
Je tente de faire une "Loop... Whille" en calculant colonne par colonne, en se décalant vers la droite. Je voudrais qu'elle s'arrête dès que mes colonnes sont vides, mais ca ne marche pas. La loop décale la sélection jusqu'à la dernière colonne ("IV") et la macro plante.
Voici mon Code :
Range("B1:B12504").Select
Do
Selection.Calculate
Selection.Offset(0, 1).Select
Loop While Not IsEmpty(Selection.Offset(0, 1))
Merci d'Avance!!!
A voir également:
- VBA - Do... Loop While sans fin!
- Fin des zfe - Guide
- Fin de l'archive incorrecte - Forum Compression
- Fin du partage de compte disney + - Accueil - Streaming
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Incompatibilité de type vba ✓ - Forum Programmation
5 réponses
Bonjour,
je vois pas trop pourquoi le calculate dans une boucle ....mais c'est vendredi
essaies cette autre manière
edit: ajouté défilement écran bloqué
Michel
je vois pas trop pourquoi le calculate dans une boucle ....mais c'est vendredi
essaies cette autre manière
Sub xxxx() Dim dercol As Byte, col As Byte 'trouve la dernière colonne avec une donnée dercol = Range("B1:IV12400").Find("*", , , , , xlPrevious).Column Application.ScreenUpdating = False 'parcours le tableau For col = 2 To dercol Cells(1, col).Resize(12504, 1).Calculate Next End Sub
edit: ajouté défilement écran bloqué
Michel
Bonjour Michel_m,
merci beaucoup pour votre réponse!!!
en fait le but était de "guider" excel dans le recalcul de l'onglet en question.
Le recalcul de cette onglet prend plus d'une heure!
Comme les premières colonnes sont des formules simples qui servent de variables dans les formules matricielles des colonnes qui suivent, j'ai pensé qui serait judicieux de lui imposer de calculer d'abord les premières colonnes.
En plus ca permet qu'il ne re-balaye pas les cellules qui n'entrent pas dans la sélection.
Qu'en pensez-vous?
Et comprenez-vous pourquoi ma loop est fausses?
Merci!
merci beaucoup pour votre réponse!!!
en fait le but était de "guider" excel dans le recalcul de l'onglet en question.
Le recalcul de cette onglet prend plus d'une heure!
Comme les premières colonnes sont des formules simples qui servent de variables dans les formules matricielles des colonnes qui suivent, j'ai pensé qui serait judicieux de lui imposer de calculer d'abord les premières colonnes.
En plus ca permet qu'il ne re-balaye pas les cellules qui n'entrent pas dans la sélection.
Qu'en pensez-vous?
Et comprenez-vous pourquoi ma loop est fausses?
Merci!
as tu regardé la macro que je t'ai proposé suite à ton problème:
Je tente de faire une "Loop... Whille" en calculant colonne par colonne, en se décalant vers la droite. Je voudrais qu'elle s'arrête dès que mes colonnes sont vides, mais ca ne marche pas
?
d'autre part si tu as des matricielles sur 12400 lignes, installes ton matériel de camping près de l'ordi pour attendre la fin des calculs confortablement ;o)
un peu de lecture à ce sujet
http://xcell05.free.fr/pages/form/form_mat.htm#Performances
Je tente de faire une "Loop... Whille" en calculant colonne par colonne, en se décalant vers la droite. Je voudrais qu'elle s'arrête dès que mes colonnes sont vides, mais ca ne marche pas
?
d'autre part si tu as des matricielles sur 12400 lignes, installes ton matériel de camping près de l'ordi pour attendre la fin des calculs confortablement ;o)
un peu de lecture à ce sujet
http://xcell05.free.fr/pages/form/form_mat.htm#Performances
Bonjour tout le monde,
Tu sais, excel n'est pas bête, il calcule d'abord les antécédents avant de d'évaluer une formule.
Lorsque tu as beaucoup de formule le mieux est de conserver celles de la 1ère ligne et de faire un 'copier-collage spécial valeur' sur toutes les autres lignes.
Et quand tu as des modif tu recopies toutes les formules vers le bas qu'il recalcule, et tu refais un collage spécial valeur.
eric
Tu sais, excel n'est pas bête, il calcule d'abord les antécédents avant de d'évaluer une formule.
Lorsque tu as beaucoup de formule le mieux est de conserver celles de la 1ère ligne et de faire un 'copier-collage spécial valeur' sur toutes les autres lignes.
Et quand tu as des modif tu recopies toutes les formules vers le bas qu'il recalcule, et tu refais un collage spécial valeur.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question