Transformer un formule si en MACRO

romualdlecordier

XLDnaute Occasionnel
Bonjour à tous

J'ai besoin de votre aide pour transformer une formule si en macro

J'ai des macros dans mon fichier de départ et une de ses macros prend pour les colonne M,V,W,X le resultat de la ligne 7 et le divise par le nombre de jour travaillé par le TT

Comment puis je ajouter dans cette macro la formule suivante si la ligne de la colonne C est égale à 7 alors il faut mettre O sur la même ligne pour les colonne M,V,W,X

Attention cette macro doit se trouver juste avant l'enregistrement

Je vous joint un fichier avec le fichier de départ et le resultat souhaité

Par avance merci de votre aide

Romuald
romuald.lecordier@advisio-services.com
 

Pièces jointes

  • Macro pour HN et HP.zip
    16.1 KB · Affichages: 40
  • Macro pour HN et HP.zip
    16.1 KB · Affichages: 39
  • Macro pour HN et HP.zip
    16.1 KB · Affichages: 41

pat01200

XLDnaute Occasionnel
Re : Transformer un formule si en MACRO

Je ne suis pas sûr d'avoir bien compris : d'après ton fichier joint, la formule à changer en macro serait :
=SI(C7 = 7;"0";"") et elle serait à mettre en M7, V7, W7 et X7 ???
Sinon, essaie d'être très précis sur ce que tu veux.
A bientôt. Cordialement,
pat01200
 

Bebere

XLDnaute Barbatruc
Re : Transformer un formule si en MACRO

bonsoir Romuald,Pat
une solution

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("A1").CurrentRegion
N = 0
For i = 2 To UBound(tablo)
Select Case tablo(i, 3)
Case 7
Cells(j, 13) = 0
Cells(j, 22) = 0
Cells(j, 23) = 0
Cells(j, 24) = 0
Cells(j, 25) = 0
Case Else
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
End Select
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

à bientôt
 

Bebere

XLDnaute Barbatruc
Re : Transformer un formule si en MACRO

bonjour
Romuald
tu as des 0,d'ou erreurs
explique nous clairement ce que tu veux faire en dehors de ta demande(si la ligne de c contient 7)
questions
si je comprend,tu écris dans la résultat(tel quel la feuille résultat doit être active)
n représente quoi
que doit faire la boucle j
à bientôt
 

Fo_rum

XLDnaute Accro
Re : Transformer un formule si en MACRO

Salut,

peut-être ainsi :
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("B2").CurrentRegion
  N = 0
  For i = 2 To UBound(tablo)
    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
    [B]'là, pour un seul 7[/B]
    N = N + 1
  Next i
  'ici, si plusieurs cas 7 se présentent sinon dans la première boucle
 For i = 2 To UBound(tablo)[B]
  If tablo(i, 3) = 7 Then
      Cells(i, 13) = 0
      Cells(i, 22) = 0
      Cells(i, 23) = 0
      Cells(i, 24) = 0
      Cells(i, 25) = 0
    End If
 [/B] Next
    Application.Calculation = xlCalculationAutomatic
  Application.ScreenUpdating = True
End Sub
 

romualdlecordier

XLDnaute Occasionnel
Re : Transformer un formule si en MACRO

Bonjour à tous

La macro qui m'a été donné ne fonctionne pas correctement car elle mets toutes les ligne des colonnes M, V,W,X et Y à zéro

Le début de ma macro prends le résultat de la ligne 7 par exemple colonne M et le divise par le nombre de jour (Cette phase fonctionne)

Par contre après j'aimerai que pour la pour ses 5 colonnes à chaque fois que en colonne C on a 7 la macro remplace le chiffre par 0

Merci pour votre aide

Romuald
 

Pièces jointes

  • Macro pour HN et HP.zip
    15.7 KB · Affichages: 18
  • Macro pour HN et HP.zip
    15.7 KB · Affichages: 19
  • Macro pour HN et HP.zip
    15.7 KB · Affichages: 16

Bebere

XLDnaute Barbatruc
Re : Transformer un formule si en MACRO

bonjour
est ce ce que tu veux

N = 0
For i = 2 To UBound(tablo)
For j = i - N To i - 1
Select Case tablo(i, 3) 'colonne C
Case 7 'si tablo(i, 3)=7
Cells(i, 13) = 0 'm
Cells(i, 22) = 0 'v
Cells(i, 23) = 0 'w
Cells(i, 24) = 0 'x
Cells(i, 25) = 0 'y

Case Else 'si tablo(i, 3)<>7
Cells(j, 13) = tablo(i, 13) / N 'm
Cells(j, 22) = tablo(i, 22) / N 'v
Cells(j, 23) = tablo(i, 23) / N 'w
Cells(j, 24) = tablo(i, 24) / N 'x
Cells(j, 25) = tablo(i, 25) / N 'y

End Select
Next j
N = N + 1
Next i

à bientôt
 

romualdlecordier

XLDnaute Occasionnel
Re : Transformer un formule si en MACRO

Bonjour a tous

Non car ça mets toutes les lignes à zero

Si on prends par exemple la colonne M

Dans le fichier de départ dan sla colonne C on à le chiffre 7 et en colonne M on a 2,80 ce que je veux que la macro fasse c'est qu'elle divise 2,80 par le nombre de ligne que comporte la colonne C (dans l'exemple 6) donc en colonne M on aura 0,47 pour chaque ligne et ensuite je veux que la macro mette en colonne M et pour la ligne 7 un 0 mais en laissant 0,47 sur chaque ligne

Enfin cette macro doit faire la même chose pour les colonnes V,W,X et Y

Romuald
 

Pièces jointes

  • Macro LCM.zip
    16.5 KB · Affichages: 19
  • Macro LCM.zip
    16.5 KB · Affichages: 18
  • Macro LCM.zip
    16.5 KB · Affichages: 16

romualdlecordier

XLDnaute Occasionnel
Re : Transformer un formule si en MACRO

Bonjour à tous

Dans mon fichier joint, ma premiere parti de la macro c'est à dire prendre le chiffre de la ligne 7 et le divisé par le nombre de jour fonctionne très bien

Par contre, j'aimerai une autre macro qui supprime pour les colonnes M, V, W, X et Y le chiffre se trouvant sur la ligne 7 de le colonne C

C'est cette deuxième parti qui me pose problème

Merci de votre aide

Romuald
 

Pièces jointes

  • Macro LCM.zip
    16.1 KB · Affichages: 16
  • Macro LCM.zip
    16.1 KB · Affichages: 17
  • Macro LCM.zip
    16.1 KB · Affichages: 17

Statistiques des forums

Discussions
312 581
Messages
2 089 919
Membres
104 307
dernier inscrit
Diet