Remplacer une donnée en fonction de la valeur d’une autre

Bonjour, j’ai besoin de votre aide pour réaliser une macro qui effectue le calcul suivant :

J’ai un fichier avec plusieurs colonnes et plus de 40000 lignes (ici j’ai essayé de simplifier le fichier).

Col1= date

Col3= un nombre

Col2 = la date de la colonne 1+ chiffre col3

Je voudrai réaliser une macro qui à chaque fois que j’ai 30 dans la col 3=> colonne 2=colonne1+colonne3

Exemple si la colonne 3 = 30 et colonne1= 1/1/1900 => col2=>1/1/1930

Le probleme c’est qu’il faut garder le meme jour et le meme mois que la colonne 1.

Début macro :

Dim cell As Range

For Each cell In Range("c2:c" & Range("c" & Rows.Count).End(xlUp).Row)

If cell.Value = "30" Then ........

Merci beaucoup pour votre aide

30classeur1.xlsm (9.10 Ko)

Bonjour

Essaie ce code :

 For Each cell In Range("c2:c" & Range("c" & Rows.Count).End(xlUp).Row)
    If cell.Value = 30 Then
        cell.Offset(0, -1).Value = DateSerial(Year(cell.Offset(0, -2).Value) + cell.Value, Month(cell.Offset(0, -2).Value), Day(cell.Offset(0, -2).Value))
    End If
Next cell

Merci pour votre aide

Rechercher des sujets similaires à "remplacer donnee fonction valeur"