VBA Bouble à alléger

Kharny -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous.

Voici mon problème.
Tout part d'un tableau excel sur lequel un collègue et moi travaillons en permanence.
Pour pouvoir travaillé en simultané, nous utilisons chacun une copie du tableau.

extrait du tableau :
colonne 2 colonne 8 colonne 9 colonne 54
affaire article n° de série régul
le reste des colonnes n'est pas intéressant pour mon problème.

Mon collègue travaille sur les colonne de 10 à 53. Il modifie les informations régulièrement et rajoute des lignes.
De mon coté, je ne travaille que sur la colonne 54 (je ne rajoute pas de ligne).
Je voudrais, donc une fois par semaine coordonner nos deux copies du tableau.
donc rétablir la colonne 54 sur son tableau.
J'ai donc crée un simple programme VBA.
Apres avoir copié ma feuille "Régul" dans son classeur pour compléter la colonne 54 sur sa feuille "Suivi"

Dim a As Integer
Dim b As Integer
Dim d As Integer
Dim e As Integer

e = 807

'Boucle recherche dans suivi
For a = 2 To e
'Boucle recherche dans regul
b = 2
While b < e
'Affaire ?
If Sheets("Suivi").Cells(a, 2) = Sheets("Régul").Cells(b, 2) Then
'article 8
If Sheets("Suivi").Cells(a, 8) = Sheets("Régul").Cells(b, 8) Then
'N° Série ? 9
If Sheets("Suivi").Cells(a, 9) = Sheets("Régul").Cells(b, 9) Then
'Ajout de la régularisation 54
Sheets("Suivi").Cells(a, 54) = Sheets("Régul").Cells(b, 54)
d = e
Else
d = d + 1
End If
Else
d = d + 1
End If
Else
d = d + 1
End If
Wend
Next

End Sub

Le programme fonctionne bien
mais le problème est qu'il prend plus de 20 minutes pour le calcul
Il y a t'il un moyen pour alléger ce dernier.
Ou peut être un fonction excel que je ne connais pas :).
Enfin le but est de gagner du temps.
J'espère avoir était explicite.
Merci d'avance a tout passionné qui pourra m'aider.



A voir également:

2 réponses

swed
 
Bonjour,

Dans ton code :
e = 807
b = 2
While b < e

b n'est jamais modifié : boucle infinie.
"Le programme fonctionne bien" : j'ai un doute...

Cordialement,
1
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
bonjour,
Dis moi si j'ai compris le fonctionnement:

sur une ligne tu compares les colonnes 2,8, 9, et si les 3 sont égales tu inscris la régul en col 54 et tu sors ?

la copie de ton classeur sur l'autre concerne telle uniquement cette régulation ?

a quoi sert "d"
1