Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplace date sous condition

  • Initiateur de la discussion Initiateur de la discussion undo74
  • Date de début Date de début

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 !

undo74

XLDnaute Nouveau
Bonjour à tous,
le code ci-dessous ne fonction pas correctement pouvez-vous svp m'aider à résoudre mon problème ?😕
J'ai une colonne B avec des dates je veux remplacer seulement les dates qui sont inférieur au 31/12/2014 et supérieure ou égal au 01/01/2016.
condition :
si inférieur au 31/12/2014 je remplace par 01/01/2015
si supérieure ou égal au 01/01/2016 je remplace par 31/12/2015
sinon je conserve la valeur actuel.

résultat:
Je dois avoir que des dates en 2015 dans la colonne B


voici le code:
Code:
        If Cells(i, 2).Value < 31 / 12 / 2014 Then
        Cells(i, col).Value = 1 / 1 / 2015
          
        ElseIf Cells(i, 2).Value >= 1 / 1 / 2016 Then
        Cells(i, col).Value = 31 / 12 / 2015
          
          
            
      Else
          Cells(i, col).Value = Cells(i, 2).Value

merci par avance.
 

Pièces jointes

Re : Remplace date sous condition

Bonjour à tous,

Peux-tu essayer :

VB:
Sub UpdateMonth(ByVal col As Integer)
'Initialisation de la boucle
    Dim i As Integer
    i = 2
    'Boucle sur la liste de cellule
    Do While (Cells(i, 2).Value <> "")
        If Cells(i, 2).Value < DateSerial(2014, 12, 31) Then
            Cells(i, 2).Value = DateSerial(2015, 1, 1)
        ElseIf Cells(i, 2).Value >= DateSerial(2016, 1, 1) Then
            Cells(i, 2).Value = DateSerial(2015, 12, 31)
        Else
            Cells(i, 2).Value = Cells(i, 2).Value
        End If
        i = i + 1
    Loop
End Sub

A+ à tous
 
Re : Remplace date sous condition

Bonsoir..

Ou ...

Sub UpdateMonth(ByVal col As Integer)

'Initialisation de la boucle
Dim i As Integer
i = 2
'Boucle sur la liste de cellule
Do While (Cells(i, 2).Value <> "")
If Cells(i, 2).Value < #12/31/2014# Then
Cells(i, col).Value = #1/1/2015#
ElseIf Cells(i, 2).Value >= #1/1/2016# Then
Cells(i, col).Value = #12/31/2015#
Else
Cells(i, col).Value = Cells(i, 2).Value
End If
i = i + 1
Loop
End Sub
 
Re : Remplace date sous condition

Bonjour JCGL, FROLLINDE, Staple1600;
C'est nickel ! vos deux solutions marche très bien 😀
Staple1600;
Je n'ai pas trop compris ta remarque ? : confuses:
Merci infiniment pour votre aide.
À bientôt j'espère pour d'autres aventures😉
 
- 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
5
Affichages
839
Réponses
8
Affichages
750
Réponses
2
Affichages
496
Réponses
4
Affichages
692
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
432
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
7
Affichages
445
Réponses
3
Affichages
903
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…