Remplacer mois dans une plage de dates

Bonjour,

dans une sélection de dates je souhaite modifier le mois par défaut (janvier donc 01) par le mois saisi via un InputBox.

Le format de la date est jj/mm/aaaa

Voici ce mon code mais la valeur du mois compris entre / / ne change pas au final.

Mois = InputBox("Entre le numéro du mois à insérer")

    Selection.Replace What:="/01/", Replacement:="/" & Mois & "/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

quelles est mon erreur?

Bonjour Zeltron, bonjour le forum,

Parce qu'Excel affiche des dates mais en vérité traite des numéros (il te suffit de mettre les cellules des dates au format standard pour le vérifier), je te propose le code suivant qui te permettra de remplacer n'importe quel mois :

Sub Macro1()
Dim Mois As Byte 'déclare la variable Mois
Dim D As Date 'déclare la variable D
Dim CEL As Range 'déclare la variable CEL

debut: 'étiquette
On Error Resume Next 'gestion des erreur (en cas d'erreur passe à la ligne suivante)
Mois = InputBox("Entre le numéro du mois à insérer") 'définit la boite d'entrée Mois
'si Mois n'est pas renseignée ou si bouton [Annuler] dans Mois, cela génère une erreur
If Err <> 0 Then 'condition : si une erreur a été générée
    Err.Clear 'supprime l'erreur
    Exit Sub 'sort de la procédure
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
If Mois > 12 Or Mois < 1 Then 'condition : si mois est supérieur à 12 ou inférieur à 1
    MsgBox "le mois doit être compris entre 1 et 12 !" 'message
    GoTo debut 'va à l'étiquette début
End If 'fin de la condition

For Each CEL In Selection 'boucle sur toutes les cellules CEL de la sélection
    D = CDate(CEL.Value) 'définit la date D
    CEL.Value = DateSerial(Year(D), Mois, Day(D)) 'la cellule CEL est égale à la date avec le mois Mois
Next CEL 'prochaine cellule de la boucle
End Sub

Merci

Rechercher des sujets similaires à "remplacer mois plage dates"