XL 2021 formule pour modifier le CONTENU de certaines cellules

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bjr à toutes et à tous :)

J'ai un souci qui vient de moi "codeur bricoleur à la noix" :mad:
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

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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
Supporter XLD
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
Supporter XLD
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"o_O (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 Accro
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 :confused:.
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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 :confused:.
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

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 180
dernier inscrit
Vcr