Ajouter autant de ligne qu'il y a de jours dans un péridode

Résolu/Fermé
floflo18 Messages postés 14 Date d'inscription lundi 28 avril 2014 Statut Membre Dernière intervention 30 avril 2014 - 28 avril 2014 à 12:05
ccm81 Messages postés 10878 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 11 septembre 2024 - 28 avril 2014 à 17:16
Bonjour à tous,

J'essaye actuellement d'automatiser un fichier Excel mais je n'y arrive pas. Ce tableur est composé de plusieurs lignes avec de nombreuses données dont une date de début et une date de fin.
J'aimerais passer du tableur suivant :
Données 1-----Données 2 ----Date de début ---Date de fin
-----a -----------------b-------------01/01/15---------03/01/15
-----d -----------------v-------------02/02/15---------03/02/15

A celui la :
Données 1-----Données 2 ----Date de début ---Date de fin
-----a -----------------b-------------01/01/15---------01/01/15
-----a -----------------b-------------02/01/15---------02/01/15
-----a -----------------b-------------03/01/15---------03/01/15
-----d -----------------v-------------02/02/15---------02/02/15
-----d -----------------v-------------03/02/15---------03/02/15

Pouvez-vous m'aider SVP ?

Merci beaucoup.

floflo18
A voir également:

5 réponses

ccm81 Messages postés 10878 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 11 septembre 2024 2 415
Modifié par ccm81 le 28/04/2014 à 15:01
Bonjour

Un exemple via une macro
https://www.cjoint.com/?3DCpayAIKSA

Attention. Lien modifié

Cdlmnt
0
via55 Messages postés 14473 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 13 septembre 2024 2 727
Modifié par via55 le 28/04/2014 à 15:06
Bonjour

Par macro (en supposant les données de départ en colonnes A, B, C et D de Feuil 1 à transposer en feuil 2):

Sub trans()
lignecopie = 1 'n° de la ligne précédent la 1ere ligne à copier
For ligne = 2 To 3 ' boucle sur les lignes 2 à 3 du 1er tableau
diff = Sheets("Feuil1").Range("D" & ligne).Value - Sheets("Feuil1").Range("C" & ligne).Value 'calcul difference de dates
For n = 0 To diff 'boucle à partir de la difference
lignecopie = lignecopie + 1 'incremente de 1 la ligne de recopie en feuil2
' effectue les copies en feuilles 2 en colonnes A B C et D
Sheets("Feuil2").Range("A" & lignecopie) = Sheets("Feuil1").Range("A" & ligne)
Sheets("Feuil2").Range("B" & lignecopie) = Sheets("Feuil1").Range("B" & ligne)
Sheets("Feuil2").Range("C" & lignecopie) = Sheets("Feuil1").Range("C" & ligne) + n
Sheets("Feuil2").Range("D" & lignecopie) = Sheets("Feuil1").Range("C" & ligne) + n
Next n
Next ligne
End Sub

Macro à mettre dans le Worksheet de la feuille 1

A adapter à tes besoins

Cdlmnt

"L'imagination est plus importante que le savoir." A. Einstein
0
floflo18 Messages postés 14 Date d'inscription lundi 28 avril 2014 Statut Membre Dernière intervention 30 avril 2014
28 avril 2014 à 15:13
Merci ccm81. La macro est presque parfaite. Le seul problème est que la ligne copier n'a pas sa date de fin de changée.

Encore merci

Cordialement

floflo18
0
ccm81 Messages postés 10878 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 11 septembre 2024 2 415
28 avril 2014 à 15:18
Désolé, il me semblait avoir modifié le lien du post #1
https://www.cjoint.com/?3DCprIkws1J

Cdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10878 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 11 septembre 2024 2 415
28 avril 2014 à 17:16
Peux tu mettre le sujet à résolu (en haut à droite de ton premier message)

Bonne fin de journée
0