Probleme de format de date

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

N

nono59

Guest
Bonjour,


J'ai un programme comptable qui permet de copier les écritures dans le presse-papier, quand je les colle manuellement dans une feuille excel, pas de problème, les dates sont au bon format, seulement quand je les colle au moyen d'un code VBA 'Selection.paste' alors là patatrac, toutes les dates sont interprètées au format anglais, enfin quand je dis toutes, non, seules les dates où le jour en première position peut être interprété comme un mois, en fait toutes les dates dont le jour est inférieur ou égal à 12.

Bizarre !!! quelqu'un a t-il une solution ?
 
Bonjour nono59, nanard,

Voici un petit souci que je connais bien.

Je n'ai pas su le résoudre autrement que par macro.

Désolé nanard, le formatnumber n'était pas suffisant.

J'avais (j'ai toujours) ce soucis en important des données depuis des fichiers texte.

Voici le code que j'applique. Bien sûr les références de cellule (Range(xxx)) sont à adapter.

Code:
Sub ChangeDate()
    CompteurLigne = Range('a2').End(xlDown).Row
    Range('a2:a' & CompteurLigne).Select
    On Error Resume Next
    For Each c In Selection
        If Left(c, 2) > 12 Then
            Range('a' & c.Row) = CDate(Left(c, 10))
        Else
            Range('a' & c.Row) = Left(c, 10)
        End If
    Next c

End Sub

En espérant que ça te dépanne.

Abel.
 
Salut Nanard,

En fait, je n'ai pas la main pour mettre ce code car cela arrive quand je fais un paste des données du presse papier. Une fois les données collées, étant donné que seules les dates commencant par un jour inférieur ou égal à 12 sont mises au format anglais, le code NumberFormat ne fait rien,

Merci quand même...
 
Re,

En complément de mon dernier message, j'utilise ce code une fois que les données sont importées.

On peut d'ailleur simplifier :

Sub ChangeDate()
For Each c In Range('a2:a'& range('a65536').End(xlup).Row+1)
....


Abel.
 
Bonjour nono59, le forum,

Ravi que cela te convienne.

Pour la rapidité, essaie en ajoutant ces deux lignes :

Sub ChangeDate()
Application.ScreenUpdating = False
......
.....
Application.ScreenUpdating = True
End Sub

Cela aura pour effet de 'bloquer' le rafraichissement d'image pendant l'exécution de la macro.


Abel.
 
Salut Abel, Forum

Oui, je connais cette fonction mais à vrai dire, je l'utilise peu car même s'il est vrai que le gain de temps est évident, ne voyant pas ce qui se passe, on a l'impression d'une plus grande lenteur...

En ce qui concerne un autre sujet, t'y connais tu en gestion d'application externe par Excel. J'essaies de savoir si il existe un code qui permet de savoir si une application externe est ouverte ou non ?
 
Re,

Je m'y connais moins dans ce domaine (si tant est que j'y connaisse quelque chose en quelque domaine que ce soit ... Arf !).

Mets un nouveau sujet en ligne pour cette question. Il y a des possibilités que je ne maîtrise pas.

Abel.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
0
Affichages
427
Réponses
6
Affichages
717
Réponses
0
Affichages
556
Réponses
3
Affichages
628
K
  • Question Question
Réponses
8
Affichages
1 K
Réponses
12
Affichages
1 K
  • Question Question
Microsoft 365 Format date
Réponses
7
Affichages
1 K
Retour