Boucle dans une boucle VBA
Bonjour, je suis nouveau sur le forum, je m'excuse par avance si je ne suis pas assez claire. Voilà dans ma programmation j'ai une boucle FOR... NEXT dans une boucle
DO... LOOP Until... Le problème que je rencontre c'est que j'ai un fichier avec plus de 200 000 lignes et donc la macro tourne plus d'1 h.
'boucle
Do
'
'variable
k = Cells(maligne, 1)
m = Cells(maligne, 7)
a = Application.WorksheetFunction.CountIfs(Columns(1), k, Columns(7), m)
'
malignereponse = maligne + a - 1 'DERNIERE LIGNE DU GROUPE
'
'boucle de contrôle interieur du groupe
'
For i = maligne To maligne + a - 1
'
'Variables
b = Trim(Cells(i, 12))
c = Trim(Cells(i, 11))
d = Trim(Cells(i, 7))
e = Trim(Cells(i, 9))
f = Cells(i, 8)
g = Trim(Cells(i, 22))
'
If b = "" Then
reponse = " concaténation de différente variables entre "b et g"
Else
reponse = " concaténation de différente variables entre "b et g" différente de la première réponse
End If
'
'réponse
Cells(malignereponse, 26) = reponse
'
'Ligne du bloc suivante
Next i
'
'groupe suivant
maligne = maligne + a
'
Loop Until maligne = DL + 1Auriez-vous une idée pour améliorer le temps du processus, car il me semble qu'une boucle dans une autre boucle et fortement déconseillé et que ça ralenti le temps de traitement. Merci par avance de votre aide
Bonjour
Sans voir le code ni le contexte difficile de t'aider
On peut souvent contourner par d'autres méthodes...
BONJOUR Heder et
Une petite présentation ICI serait la bienvenue
Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :
- Un minimum de politesse est de rigueur (bonjour, SVP, merci, ...), sans cela vous aurez peu de chance d'obtenir une réponse et vous risquez de voir votre message supprimé par un modérateur.
Merci d'éditer votre post avant que je fasse ce qui est indiqué
Cordialement
Edit : salut 78chris