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.