BONSOIR,
j'ai fait un copier coller de mon calendrier outlook dans excel, j'obtiens donc dans celui-ci plusieurs colonnes dont deux, date début et fin.Je vaudrais faire la différence entre les deux colonnes pour obtenir les heures prestées. Pour cela j'utiliserais la formule dateif.
Mon problème est que je ne parviens pas à changer le format de la date automatiquement quand je fais copier coller vers excel pour avoir un format de date compatible afin que la formule dateif fonctionne.
Pouvez-vous m'aider
Merci
Bonsoir oui c'est exact je fais tout manuellement je vais tester la macro regarder d’abord comment cela fonctionne et essayer de la coupler au fichier que vous m'avez fait
Bonjour
je viens d'améliorer un peu mon fichier j'ai fait un collage special avec liaison de fichier données vers fichier Christian jusque la pas de souci, mais pas possible de trier les dates dans le fichier données il classe par jour (tous les Di, Lu, .. et pas par date).
Dans le fichier Christian malgré la formule le total des heures n'est pas correct.
je voudrais aussi que dans le fichier Christian, il m'affiche une cellule vide quand il n'y a pas de donnée
Merci
Pour la somme, il faut changer le format de ta cellule, mettre le format N°7 sur ma version Excel 2013, l'exemple dans la liste est 37:30:55.
Pour les cellules vides, il suffit de ne pas copier tes formules aussi bas, ou alors mettre une condition du type =Si(DONNEES!A2=0;"";=DONNEES!A2) ou cacher les 0, dans FICHIER, OPTIONS AVANCÉES, dans le paragraphe OPTION D'AFFICHAGE POUR LA FEUILLE etc... décocher "Afficher un zéro dans les cellules etc..."
Pour le classement, il faut faire une macro qui supprime le jour.
Le plus simple, dans ton cas, est de transformer, dès le début, tes données en date. Ensuite soustraction et somme normale.
Supprimer la fonction personnalisée puis en E2 mettre tout simplement =D2-C2 et laisser la somme en F2.
Changer si besoin le format des colonnes C, D et E.
Voici une macro qui te permet de transformer tes valeurs en date.
VB:
Sub Changement_Date()
Dim i&, c1 As Date, c2 As Date
For i = 2 To [C65536].End(3).Row
c1 = Right(Cells(i, 3), 14)
Cells(i, 3) = c1
c2 = Right(Cells(i, 4), 14)
Cells(i, 4) = c2
Next
End Sub
A te relire
Martial
PS: Si quelqu'un passe par là, je n'ai pas réussi à transformer les dates sans passer par une variable Date, peut-on le faire directement ? Car inversion en date française et date américaine. J'ai essayé avec :
Bonjour ,
J'ai mis en pratique tous les conseils et tout est ok avec la macro, une derrière question je fais manuellement le tri de la feuille données manuellement avec la fonction filtre y a -t-il moyen de créer macro pour cela
Bonsoir, dans mon fichier zepe3 ci-dessus, je fais un copier coller des données outlook , est il possible par macro de supprimer automatiquement la ligne No 2 et les colonnes E F dans l'onglet données et ensuite que les données soient copiées automatiquement dans l'onglet chris.
merci de vos réponse
Bonjour, j'ai réussi à copier le code et faire la macro , mais quand je l'execute, il me supprime bien la ligne 2 et les colonnes e f, mais il me crée une deuxième fiche données au lieu de copier dans chris
Tu as utilisé la première ou la seconde des macros ?
La première crée un nouvel onglet, la seconde copie directement dans CHRIS, mais à partir de A1. Si tu veux que la copie se fasse après des cellules déjà remplies, dis-le on arrangera ça.