Copier ajouter 5 jours et coller la nouvelle Date

Résolu/Fermé
Radsgord Messages postés 9 Date d'inscription mardi 4 octobre 2016 Statut Membre Dernière intervention 12 octobre 2016 - 4 oct. 2016 à 21:18
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 5 oct. 2016 à 21:16
Bonjour à tous et merci par avance,

Voilà mon souci,
A l'aide d'un userform je sélectionne via des dtpicker une date de début et une date de fin de période qui se trouve dans une feuille Excel. Une fois sélectionné cette période je copie cette plage sur la première ligne vide et je colle. Jusqu’ici ça marche…
Néanmoins ce que je souhaite réaliser c’est qu’au moment de coller cette période sélectionné les cellules contenant les dates soit incrémenté de [+5 jours] et que la partie collé de la plage colonne "H" soit vidé de son contenu.
En espérant ne pas avoir été trop confus.
voici le classeur test peut-être plus explicite que mon discours.
https://www.cjoint.com/c/FJetpCc0SbY

4 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 oct. 2016 à 09:29
Bonjour,

Après ta copie tu rajoutes :
            Dim cel As Range
            For Each cel In Selection.Resize(lignefin - LigneDeb + 1, 1).Cells
                If IsDate(cel.Value) Then cel.Value = CDate(cel.Value + 5)
            Next cel

0
Radsgord Messages postés 9 Date d'inscription mardi 4 octobre 2016 Statut Membre Dernière intervention 12 octobre 2016
5 oct. 2016 à 10:51
Un grand bravo, excellent travail concernant la recopie avec incrémentation de x jours. c'est tout à faite ce que je souhaitais faire.
Un très grand merci à toi.
Pour en terminer avec ma demande comment réaliser l'effacement des cellules de la plage coller sur la colonne ("H") ?
0
Radsgord Messages postés 9 Date d'inscription mardi 4 octobre 2016 Statut Membre Dernière intervention 12 octobre 2016
5 oct. 2016 à 11:03
Bonjour à tous et en particulier à gbinforme pour son excellente réponse,
J'ai réfléchi un instant et j'ai écris ceci, cela fonctionne.
Selection.Range("E" & LigneDeb - 2, "E" & lignefin).ClearContents

Mais est-ce vraiment la syntaxe correcte ? peut-être n'aurai-je pas dû réfléchir :-)
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 oct. 2016 à 12:05
Tu as trouvé une solution qui prête un peu à confusion car tu efface la colonne H en écrivant E, j'aurais plutôt vu ceci qui me parait plus lisible en maintenance
            Selection.Offset(0, 5).Resize(lignefin - LigneDeb + 1, 1).ClearContents
0
Radsgord Messages postés 9 Date d'inscription mardi 4 octobre 2016 Statut Membre Dernière intervention 12 octobre 2016
5 oct. 2016 à 21:06
Bonsoir gbinforme,
Désolé pour cette réponse un peu tardive.
Effectivement c'est beaucoup plus explicite et cela fonctionne à merveille.
Je vais donc pouvoir continuer à faire évoluer mon classeur grâce à toi.
Un grand MERCI.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
5 oct. 2016 à 21:16
Bonsoir,
Pas de souci, je suis pas collé à l'écran ;-)
Bonne continuation et à une prochaine avec plaisir !
0