Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

romualdlecordier

XLDnaute Occasionnel
Bonjour à tous,

J'ai besoin d'aide pour améliorer ma macro

Voici un bout de la macro
Sub repart()
Dim tablo As Variant, N As Integer, i As Integer, j As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
tablo = Sheets("EINTCM").Range("B3").CurrentRegion
N = 0
For i = 2 To UBound(tablo)
If tablo(i, 3) = 7 Then
For j = i - N To i - 1
Cells(j, 13) = tablo(i, 13) / N
Cells(j, 22) = tablo(i, 22) / N
Cells(j, 23) = tablo(i, 23) / N
Cells(j, 24) = tablo(i, 24) / N
Cells(j, 25) = tablo(i, 25) / N
Next j
N = 0
Else
N = N + 1
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Cette macro prend en faite le chiffre qui se trouve en colonne M dont la colonne C est égale à 7 est elle divise se chiffre par le nombre de jour travaillé
Et elle fait aussi cette divisio pour les colonnes V,W,X et Y

L'amélioration que je veux apporter et que si la colonne AI est différent de 0 alors ce jour ne rentre pas dans le nombre de jour travaillé.

Je vous joint un document avec une feuille comportant le fichier de départ et une feuille avec le résultat souhaité

Merci d'avance pour votre aide

Romuald
 

Pièces jointes

Re : Besoin d'aide

pas tester.....

essaie ceci

Code:
Sub repart()
Dim tablo As Variant, N As Integer, i As Integer, j As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
tablo = Sheets("EINTCM").Range("B3").CurrentRegion
N = 0
For i = 2 To UBound(tablo)
If tablo(i, 3) = 7 Then
For j = i - N To i - 1
Cells(j, 13) = tablo(i, 13) / N
Cells(j, 22) = tablo(i, 22) / N
Cells(j, 23) = tablo(i, 23) / N
Cells(j, 24) = tablo(i, 24) / N
Cells(j, 25) = tablo(i, 25) / N
Next j
N = 0
Elseif tablo(i,35) <> 0 then
N = N + 1
End If
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
466
Réponses
4
Affichages
177
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
3
Affichages
508
Réponses
0
Affichages
459
Retour