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

XL 2021 formule pour modifier le CONTENU de certaines cellules

Usine à gaz

XLDnaute Barbatruc
Bjr à toutes et à tous

J'ai un souci qui vient de moi "codeur bricoleur à la noix"
Dans mon fichier de travail, certaines dates ne sont pas triées.
J'ai cherché longtemps, y compris cette nuit et j'ai fini par comprendre.

En effet, j'ai toujours gaffouillé dans mes formats de dates et mes bricolages ont fait que :
- j'ai des dates comme ceci : 03.05.2023 00:00:00
- j'ai des dates comme cela : 03.05.2023 00:00
Evidemment, le tri n'est pas fait pour les dates comme cela "03.05.2023 00:00"

Pour mon fichier de travail :
Est-il possible d'ajouter par code ":00" la où ça manque pour que toutes les dates soient toutes
avec "00:00:00" ?

Dans le classeur test joint les cellules confernées sont les 2 cellules en jaune de la colonne "J"

Merci pour votre aide...
Je joins le classeur test.
Je continue mes recherches
 

Pièces jointes

  • affiche lignes Test.xlsm
    276.9 KB · Affichages: 6

JHA

XLDnaute Barbatruc
Bonjour à tous,

Pour avoir le même affichage des données en colonne "J", format de cellule

VB:
jj/mm/aaaa hh:mm:ss

JHA
 

Pièces jointes

  • affiche lignes Test.xlsm
    276.5 KB · Affichages: 1

Usine à gaz

XLDnaute Barbatruc
Bjr JHA
Merci pour ce retour mais désolé ça ne fonctionne pas.
J'avais tenté aussi parmi un tas de trucs mais ça ne modifie pas le contenu des cellules.

M'étais trompé sur le titre :
J'ai modifié : formule pour modifier le CONTENU de certaines cellules

M'était trompé sur le titre :
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re-Bjr @JHA
Tu m'as donné, je pense, la solution
Pour transformer un texte en chiffres ou dates (dans le cas présent), il suffit dans une autre colonne de faire : =J26*1 et de recopier la valeur en J26 et boucler sur toutes les lignes...
Merci à toi de m'y avoir fait penser...
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Je ne sais pas pour aujourd'hui mais autrefois, comme on te l'a dit de nombreuses fois , le problème venait du fait que la plupart de tes dates n'étaient pas des dates mais du texte.

Et si je me souviens bien, en plus ça avait un format particulier qui faisait qu'Excel ne pouvait pas directement reconnaître ça comme une date, et il fallait donc commencer par un Substitue.
 

Usine à gaz

XLDnaute Barbatruc
Bjr TooFatBoy
Parfaitement d'accord avec toi. Et ces soucis de formats de dates me causent bien des soucis.
Mais refaire mon Usine à gaz est un vrai "chantier" pour moi "bricoleur" même pas du dimanche lol
Mon fichier fonctionne correctement comme il est est je n'ai pas le temps ni le courage pour l'instant de le modifier.

Alors "je plâtre" et mon #post 6 est, je pense, un bon plâtrage
Mais si tu as mieux... je prends
 

TooFatBoy

XLDnaute Barbatruc
Je ne peux pas actuellement regarder ton fichier, mais mon message précédent se voulait être était un éventuel axe de recherche car à l'époque le "*1" ne fonctionnait pas à cause d'un format trop exotique.

Mais si là ça fonctionne alors c'est parfait, ou presque... car job te dirait qu'il vaut mieux un "--" qu'un "*1".
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous ,

J'ai tiré de mes archives perso une ancienne fonction personnalisée. Je ne sais plus pourquoi je l'ai faite, dans quelles conditions et si je suis allé jusqu'au bout de la "chose" (j'en doute fort ).

Toujours est-il que je ne m'y suis pas replongé (je vais peut-être le faire) mais cette fonction peut servir à corriger les machins qui ressemblent à des dates & heures.

La fonction s'appelle : TexteEnDateHeure(x)
x est une valeur : texte, nombre, logique, vide.
La fonction essaie de transformer la valeur x en date et heure. Elle est utilisable en VBA et sur une feuille de calcul.

Cette fonction est utilisée par la macro CorrectionDate qui est lancée par le bouton Hop!
La macro demande à l'utilisateur de sélectionner une plage (de la feuille active, d'une ajutre feuille, d'un autre classeur ouvert).
La macro essaye ensuite d'interpréter le contenu de chaque cellule de la plage comme une date. Si elle réussi à le faire alors elle affiche une vraie date (au format jj/mm/aaa hh:mm:ss) sinon elle laisse la cellule inchangée.

J'ai fait cela rapidement...
 

Pièces jointes

  • Usine à gaz- Texte en DateHeure- v1.xlsm
    29.5 KB · Affichages: 3

laurent950

XLDnaute Barbatruc
Bonsoir @Usine à gaz

Pour faire la conversion des formats des dates dans la colonne j
Modifié les lignes de 6 To 32 pour vos classeur
On Error Resume Next pour Replace (si il y a des textes, attentions si des chaines de textes avec des points)

Un début de code

VB:
Sub test2()
On Error Resume Next
For i = 6 To 32
    Cells(i, 10) = Replace(Cells(i, 10), ".", "/")
    Cells(i, 10) = Format(CStr(CDate(Cells(i, 10))), "dd/mm/yyyy hh:mm:ss")  ' Formatage date 1
    Cells(i, 10).NumberFormat = "dd/mm/yyyy hh:mm:ss"
Next i
On Error GoTo 0
End Sub
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Oui, tu me l'avais envoyé et je l'avais gardé précieusement.
Mais mon souci ne fait pas partie de tes traitements.
A mon avis, si. Tu peux corriger tes dates qui devraient être des dates et qui ne le sont pas.
Ou alors ton souci est très mal exposé, non ?
As-tu au moins testé la macro lancée par le bouton Hop sur tes colonnes concernées ? Sans doute pas .
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Bsr mapomme
Mais si, j'avais testé mais certainement mal.
Je viens de le refaire et ça corrige.
Je verrai mieux demain.
Bonne fin de journée
 

Discussions similaires

  • Question
Microsoft 365 Tableau
Réponses
24
Affichages
894
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…