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

transformation période

  • Initiateur de la discussion Initiateur de la discussion excelo
  • 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 !

excelo

XLDnaute Occasionnel
Bonjour,
j'ai sur excel défini une période d'évèment que je voudrais éclater par jour (voir fichier excel) est-il possible de le faire et si oui par quel moyen?,
Merci pour votre aide, 😉
 

Pièces jointes

Re : transformation période

Bonjour Excelo et bienvenue 🙂,
Tu peux tester le code
Code:
Sub Test()
Dim I As Integer, J As Integer, K As Integer
I = 3
J = 1
With Sheets("Feuil1")
While .Cells(I, 1) <> ""
For K = 1 To DateDiff("d", .Cells(I, 3), .Cells(I, 4)) + 1
Sheets("Feuil2").Cells(J, 1) = .Cells(I, 1)
Sheets("Feuil2").Cells(J, 2) = .Cells(I, 2)
Sheets("Feuil2").Cells(J, 3) = .Cells(I, 3) + K - 1
Sheets("Feuil2").Cells(J, 4) = .Cells(I, 3)
Sheets("Feuil2").Cells(J, 5) = .Cells(I, 4)
J = J + 1
Next K
I = I + 1
Wend
End With
End Sub
mais je ne saisi pas l'intérêt de la chose...
A + 🙂
 
Re : transformation période

Merci beaucoup JPN pour ton aide,
cette transformation me permettra d'incorporer ces informations directement sur mon logiciel de paye, merci beaucoup ;-))))))))
 
Re : transformation période

bonjour, j'ai essayé d'utiliser le code que tu me proposes JPN, mais je n'y arrive pas malgrés mon acharnement, je suppose qu'il faut utiliser le code sous VBA, mais en fait je n'ai aucune notion sur VBA, penses tu qu'il me soit possible d'y arriver quand même ou faut il que je passe par une formation?
 
Re : transformation période

Bonjour 🙂,
Je t'ai remis ton fichier avec le code corrigé (y avait des petites erreurs, mais j'avais fait ça vite fait 😛, pour te donner l'orientation).
Voici le sens du code
Code:
Sub Test()
' Déclare les variables comme nombres entiers
Dim I As Integer, J As Integer, K As Integer
' I va servir de compteur pour tester toutes les lignes de la feuille 1
' J va servir à localiser la ligne de la feuille 2 à utiliser
' K va servir à incrémenter les dates
' Pour commencer en dessous de tes entêtes, j'affecte 3 à I et à J
I = 3
J = 3
' Je nettoie la feuille 2 des anciens résultats
' Range("D35536").End(xlUp).Row) permet de connaitre la dernière ligne en
' calculant depuis la dernière ligne (35536) et en remontant à la dernière
' cellule utilisée End(xlUp) le Row en calcule la ligne.
' & va permettre que si le résultat est 10 par exemple, ça donnera Range("A3:D10")
' Le Clear va vider les cellules
Sheets("Feuil2").Range("A3:D" & Range("D35536").End(xlUp).Row).Clear
' Tant que je n'aurai pas mis de End With, les expressions commençant par .
' feront référence à la feuille 1
With Sheets("Feuil1")
' Tant que la cellule de ligne I et de colonne 1 n'est pas vide
While .Cells(I, 1) <> ""
' De K = 1 à la différence de jour entre début et fin (correctif + 1 car il y a
' 1 en plus entre les intervalles et la période
For K = 1 To DateDiff("d", .Cells(I, 3), .Cells(I, 4)) + 1
' Recopie le matricule
Sheets("Feuil2").Cells(J, 1) = .Cells(I, 1)
' Recopie l'événement
Sheets("Feuil2").Cells(J, 2) = .Cells(I, 2)
' Recopie la date de départ plus l'intervalle K
Sheets("Feuil2").Cells(J, 3) = .Cells(I, 3) + K - 1
Sheets("Feuil2").Cells(J, 4) = .Cells(I, 3) + K - 1
' Incrémente la ligne de la feuille 2
J = J + 1
' Incrémente la date
Next K
' Incrémente la ligne de la feuille 1
I = I + 1
' Boucle sur le While
Wend
' Fin de la référence à feuille 1
End With
End Sub
Pour répondre à ta question sur le VBA, beaucoup de monde sur le forum l'a appris sans formation, mais pourquoi pas en prendre une, si ton entreprise te le propose (ou en DIF)... C'est pas très dur d'apprendre seul, mais faut rentrer dedans. En lisant le code des autres, ou en utilisant les très bon tutos de certains XLDiens, ça finit par venir 😉.
Bon courage 😎
 

Pièces jointes

Re : transformation période

merci beaucoup JPN pour ce travail qui correspond à ce que je voulais, je vais essayer de m'auto-former en consultant les différents forum, mais bon c'est sûre qu'une bonne formation est tjrs bonne à prendre surtout qu'il me reste encore pas mal d'heures de DIF. sinon j'aimerai avoir ton avis, je me suis renseigné et on m'a conseillé de me former plutôt sur windave pour la programmation plutôt que sur visual basic, qu'en penses-tu?
 
Re : transformation période

Re 🙂,
Je pense que tu as reproduit phonétiquement le logiciel que l'on t'a conseillé, et que tu veux parler de WinDev (suite WinDev, WebDev, etc.) 😛.
Ben, tout dépends de ton niveau informatique, de tes besoins, des investissements prévus par ton entreprise...
Un WinDev 14 vaut 1650€, un Excel 2007 vaut 500 à 600€ pour la suite complète... Une formation WinDev de 5 jours est dans les 5000 à 7000€, Excel à 1500 à 2000€...
Si tu es responsable du développement informatique de ta société, et ingénieur sur les bords, WinDev (qui, de réputation, est un excellent produit) va te fournir les outils pour développer mieux, plus vite et plus propre (mais pour trouver le bug, les connaissances informatiques seront indispensables)...
Si tu veux simplement améliorer tes conditions de travail et celles de tes collègues en automatisant des tâches rébarbatives pour consacrer plus de temps au vrai boulot, et laisser l'ordinateur faire ces tâches ingrates à votre place, alors Excel est un bon outil.
Maintenant, ce qui compte, c'est toi, et pas autre chose 😉!
Bon courage 😎
 
Re : transformation période

Merci beaucoup pour tes conseils, je me débrouille en informatique mais je ne suis pas responsable en développement, je cherche des solutions pour restructurer mon travail de manière à l'améliorer et surtout à le faire plus vite, j'ai plein d'idées mais je sais pas toujours si c'est techniquement possible de les réaliser, je découvre de jours en jours et je suis surpris de savoir tout ce qu'on peut faire sur excel, et au final moi qui croyait en savoir beaucoup..., plus j'en apprends et plus je me rends compte que je connais pas grand chose! je vais me pencher sur ton fichier excel-VBA que je vais décortiquer pour mon apprentissage avant de prendre une formation, Je te remercie sincèrement pour le travail que tu m'as réalisé et de tous tes conseils ;-),
 
- 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
2
Affichages
171
Réponses
4
Affichages
454
Réponses
3
Affichages
233
Réponses
14
Affichages
340
Réponses
5
Affichages
217
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…