Problème partiel avec résultats fonction Format
Résolu/Fermé
bassmart
Messages postés
281
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
19 décembre 2023
-
29 juil. 2016 à 18:10
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 16 août 2016 à 16:03
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 16 août 2016 à 16:03
A voir également:
- Problème partiel avec résultats fonction Format
- Format epub - Guide
- Fonction si et - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Lexer resultats - Télécharger - Sport
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
29 juil. 2016 à 20:24
29 juil. 2016 à 20:24
Bonsoir Bassmat, bonsoir le forum,
Je n'ai pas regardé ton long code (trop long, la flemme !)...
En principe, quand on renvoie une date de VBA vers une cellule. Il faut toujours l'envoyer au format américain yyyy/mm/dd. Elle s'écrira, dans le tableau Excel, au format défini dans la cellule de réception...
Pas sûr que ce soit la solution mais, on ne sait jamais...
Je n'ai pas regardé ton long code (trop long, la flemme !)...
En principe, quand on renvoie une date de VBA vers une cellule. Il faut toujours l'envoyer au format américain yyyy/mm/dd. Elle s'écrira, dans le tableau Excel, au format défini dans la cellule de réception...
Pas sûr que ce soit la solution mais, on ne sait jamais...
bassmart
Messages postés
281
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
19 décembre 2023
1
11 août 2016 à 19:45
11 août 2016 à 19:45
Bonjour à tous!!
Voici le fichier modifié afin de pouvoir sélectionner et ouvrir le fichier à tester peu importe l'endroit où il se trouve.
http://www.cjoint.com/data/FHlrQsZUUG7_Mise-en-forme-CordeVib-test2.xlsm
Merci pour votre aide!
Voici le fichier modifié afin de pouvoir sélectionner et ouvrir le fichier à tester peu importe l'endroit où il se trouve.
http://www.cjoint.com/data/FHlrQsZUUG7_Mise-en-forme-CordeVib-test2.xlsm
Merci pour votre aide!
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 238
Modifié par eriiic le 12/08/2016 à 16:48
Modifié par eriiic le 12/08/2016 à 16:48
Bonjour,
tu ne mets pas des dates mais des textes (regarde, elles s'alignent à gauche), et tu comptes sur excel pour interpréter.
Des fois il a bon, des fois non...
Une date doit être numérique.
Mais tu te compliques bien la vie pour rien : tu veux toutes les dates de l'année, c'est tout.
Il te reste juste à compléter pour les années bissextiles et mettre le format voulu.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
tu ne mets pas des dates mais des textes (regarde, elles s'alignent à gauche), et tu comptes sur excel pour interpréter.
Des fois il a bon, des fois non...
Une date doit être numérique.
Mais tu te compliques bien la vie pour rien : tu veux toutes les dates de l'année, c'est tout.
[M2].value = DateValue("01/01/16")
[M2].AutoFill Destination:=[M2].Resize(365), Type:=xlFillDays
Il te reste juste à compléter pour les années bissextiles et mettre le format voulu.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
bassmart
Messages postés
281
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
19 décembre 2023
1
15 août 2016 à 14:03
15 août 2016 à 14:03
Merci pour a réponse Eric!
Je comprend, mais je ne saisi pas très bien ou placer le code et que signifie le [M2]??
Est-ce que c'est ici que je doit corriger mon code pour insérer la ligne .Autofill à la place de la ligne DateAdd:
Merci!
Je comprend, mais je ne saisi pas très bien ou placer le code et que signifie le [M2]??
Est-ce que c'est ici que je doit corriger mon code pour insérer la ligne .Autofill à la place de la ligne DateAdd:
'Incrémenter la date de la colonne NewCol '__________________________________________ DLig = Cells(2, NewCol).End(xlDown).Row - 1 With Cells(DLig, NewCol) If Cells(2, NewCol) = "" Then Cells(2, NewCol).Value = DateValue("16/01/01") Cells(2, NewCol).Value = Format(Cells(2, NewCol), "dd-mmm") End If For Each Cel In Range(Cells(3, NewCol), Cells(DLig, NewCol)).Cells Cel.Value = DateAdd("d", 1, Cel.Offset(-1, 0).Value) Cel.Value = Format(Cel.Value, "dd-mmm") Next Cel End With
Merci!
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 238
15 août 2016 à 17:14
15 août 2016 à 17:14
Bonjour,
[M2] équivalent à Range("M2")
Tu remplaces toutes tes lignes qui concernent la colonne M par mes 2 lignes, pas besoin d'en mettre un bout pour ensuite essayer d'ajouter le début et la fin puisque tu veux toute l'année.
eric
[M2] équivalent à Range("M2")
Tu remplaces toutes tes lignes qui concernent la colonne M par mes 2 lignes, pas besoin d'en mettre un bout pour ensuite essayer d'ajouter le début et la fin puisque tu veux toute l'année.
eric
bassmart
Messages postés
281
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
19 décembre 2023
1
>
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
15 août 2016 à 17:46
15 août 2016 à 17:46
Bonjour Eric,
La colonne M est variable, ce n'est pas toujours la colonne M.
Oui, je veux toute l'année, mais en fait quand j'ai des lectures associés à une date, il y a toujours deux lectures par jours. Donc 2 fois la même date, je veux seulement incrémenter les dates manquantes dans la colonne au dessus et en dessous des lectures.
Je veux utiliser cette colonne afin de faire afficher les lectures sur un graphique pour l'année complète.
J'ai essayé mais sans succès, toujours les deux type d'affichage! C'est sûrement moi qui n'y comprend rien!
Je veux que sur mon graphique au lieu d'avoir les dates inscrites en format yyyy-mm-dd qu'elles soient inscrites en format dd-mmm.
Voici ce que j'ai fait:
Merci beaucoup!
La colonne M est variable, ce n'est pas toujours la colonne M.
Oui, je veux toute l'année, mais en fait quand j'ai des lectures associés à une date, il y a toujours deux lectures par jours. Donc 2 fois la même date, je veux seulement incrémenter les dates manquantes dans la colonne au dessus et en dessous des lectures.
Je veux utiliser cette colonne afin de faire afficher les lectures sur un graphique pour l'année complète.
J'ai essayé mais sans succès, toujours les deux type d'affichage! C'est sûrement moi qui n'y comprend rien!
Je veux que sur mon graphique au lieu d'avoir les dates inscrites en format yyyy-mm-dd qu'elles soient inscrites en format dd-mmm.
Voici ce que j'ai fait:
'Incrémenter la date de la colonne NewCol '__________________________________________ DLig = Cells(2, NewCol).End(xlDown).Row - 1 With Cells(DLig, NewCol) If Cells(2, NewCol) = "" Then Cells(2, NewCol).Value = DateValue("16/01/01") Cells(2, NewCol).AutoFill Destination:=Cells(2, NewCol).Resize(365), Type:=xlFillDays End If For Each Cel In Range(Cells(3, NewCol), Cells(DLig, NewCol)).Cells Cel.Value = DateAdd("d", 1, Cel.Offset(-1, 0).Value) Cel.Value = Format(Cel.Value, "dd-mmm") Next Cel End With DLigf = Cells(Application.Rows.Count, NewCol).End(xlUp).Row + 1 Date1 = "30 décembre" Y = DateDiff("d", (Cells(DLigf - 1, NewCol).Value), Date1) With Cells(DLigf, NewCol) '.Value = Format(Cells(DLig, NewCol), "yyyy-mm-dd") For Each Cel In Range(Cells(DLigf, NewCol), Cells(DLigf + Y, NewCol)).Cells 'Cel.Value = Format(Cells(DLig, NewCol), "yyyy-mm-dd") Cel.Value = Format(Cells(DLig, NewCol), "standard") Cel.Value = DateAdd("d", 1, Cel.Offset(-1, 0).Value) Cel.Value = Format(Cel.Value, "dd-mmm") Next Cel End With
Merci beaucoup!
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 238
Modifié par eriiic le 16/08/2016 à 00:21
Modifié par eriiic le 16/08/2016 à 00:21
Bonjour,
je n'avais pas vu tes dates en double.
Même principe mais en 2 fois alors.
J'ai fait cette partie et mis un Stop juste avant que tu fasses en pas-à-pas et voit le déroulement.
J'ai laissé tes dates 'mal faites' en texte que tu vois la différence (enlève le 'centré' sur cette colonne).
Ne compte jamais sur excel pour interpréter les dates texte, il a tendance à voir des dates anglaises partout mm-dd et le 04/03 se transforme en 03/04.
Utilise Datevalue(ta date) pour qu'il utilise les réglages date courte de ton poste et avoir une date numérique.
Essaie de corriger ta liste de date en tenant compte de ça.
https://www.cjoint.com/c/FHpwrda5lbh
eric
PS : et évite de changer l'alignement des cellules tant que ce n'est pas débogué, tu te masques les sources potentielles d'ennuis des valeurs textes.
je n'avais pas vu tes dates en double.
Même principe mais en 2 fois alors.
J'ai fait cette partie et mis un Stop juste avant que tu fasses en pas-à-pas et voit le déroulement.
J'ai laissé tes dates 'mal faites' en texte que tu vois la différence (enlève le 'centré' sur cette colonne).
Ne compte jamais sur excel pour interpréter les dates texte, il a tendance à voir des dates anglaises partout mm-dd et le 04/03 se transforme en 03/04.
Utilise Datevalue(ta date) pour qu'il utilise les réglages date courte de ton poste et avoir une date numérique.
Essaie de corriger ta liste de date en tenant compte de ça.
https://www.cjoint.com/c/FHpwrda5lbh
eric
PS : et évite de changer l'alignement des cellules tant que ce n'est pas débogué, tu te masques les sources potentielles d'ennuis des valeurs textes.
bassmart
Messages postés
281
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
19 décembre 2023
1
>
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
16 août 2016 à 14:53
16 août 2016 à 14:53
Merci beaucoup pour ta réponse Eric,
Ça fonctionne, j'ai juste modifier le code si la dernière date présente à la fin du tableau est le 12 décembre.
Merci pour des conseils!
Ça fonctionne, j'ai juste modifier le code si la dernière date présente à la fin du tableau est le 12 décembre.
Lig = [A1].End(xlDown).Row - 1 Cells(2, NewCol) = DateValue("01/01") Cells(2, NewCol).AutoFill Destination:=Cells(2, NewCol).Resize(Lig - 1), Type:=xlFillDays DLig = Cells(, NewCol).End(xlDown).Row If Not Cells(DLig, NewCol + 1) = "365" Then Cells(DLig + 1, NewCol) = DateValue(Cells(DLig, NewCol)) + 1 Cells(DLig + 1, NewCol).AutoFill Destination:=Cells(DLig + 1, NewCol).Resize(DateValue("31/12") - Cells(DLig + 1, NewCol) + 1), Type:=xlFillDays End If
Merci pour des conseils!
Modifié par bassmart le 1/08/2016 à 18:26
Merci beaucoup pour la réponse, mais ça n'y change rien. J'ai essayé en ajoutant la ligne suivante: dans le code suivant pour lui spécifier le format des données mais ça ne change rien pour les valeurs (mois de septembre à novembre) qui s'affiche en "yyyy-mm-dd" au lieu de "dd-mmm".
Merci!
2 août 2016 à 17:05
J'ai vue que quand je je clique droit sur une cellule qui correspondent à des valeurs extraite de ma colonne (E) le format de la cellule sélectionné est "standard".
Alors que pour toute les valeurs qui sont calculés avec la macro, leur format est "yyyy-mm-dd" et dans ce cas, il y des valeurs qui sortent sous le bon format "yy-mmm' et d'autres non.
C'est à ni rien comprendre!!
Je vous envoi le fichier à tester et le fichier avec la macro.
http://www.cjoint.com/c/FHcpeeoHVa7
http://www.cjoint.com/c/FHcpeAcPBE7
Merci pour votre aide!
Modifié par bassmart le 2/08/2016 à 17:17
8 août 2016 à 16:28