changer format cellule

polisconne

XLDnaute Junior
Bonjour,
j'ai récupéré un fichier de calcul de temps, référé à des barèmes. Sur ce fichier la saisie imposée pour 1mn54,4 est 00:01:54.0. C'est fastidieux à saisir. Est il possible de modifier le format facilement sans avoir à tout ressaisir: par exemple taper 1.54 pour avoir un format temps?
Merci d'avance pour votre réponse
JYD
 

hoerwind

XLDnaute Barbatruc
Re : changer format cellule

Bonjour,

Pas sur d'avoir compris car pas d'exemple joint ni aucune explication quant à la saisie imposée pour 1mn54,4 est 00:01:54.0
Pourquoi et comment le format est-il imposé ?

Ce que tu peux essayer :
Par la correction orthographique, remplacer .. par :
Puis saisir dans la cellule 1..54
 

job75

XLDnaute Barbatruc
Re : changer format cellule

Bonjour colisconne, salut hoerwind,

Voyez le fichier joint et cette macro (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, Range("A2:A" & Rows.Count))
If Not r Is Nothing Then
  For Each r In r 'si entrées multiples (copier coller)
    If Not IsNumeric(r) Then _
      r = Int(Val(r)) / 1440 + (Val(r) - Int(Val(r))) / 864
  Next
End If
End Sub
L'utilisation du point suppose que la virgule est le séparateur décimal de l'ordinateur.

A+
 

Pièces jointes

  • Minutes(1).xls
    35.5 KB · Affichages: 35

job75

XLDnaute Barbatruc
Re : changer format cellule

Re,

La macro précédente ne fonctionne pas correctement pour les décimales, celle-ci va bien :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, d As Single
Set r = Intersect(Target, Range("A2:A" & Rows.Count))
If Not r Is Nothing Then
  For Each r In r 'si entrées multiples (copier coller)
    If Not IsNumeric(r) Then
      d = Val(Mid(r, InStr(r, ".") + 1))
      r = Int(Val(r)) / 1440 + d / 86400
    End If
  Next
End If
End Sub
Pour obtenir 00:01:03,0 taper 1.03 ou 1.3

Pour obtenir 00:01:30,0 taper 1.30

Fichier (2).

A+
 

Pièces jointes

  • Minutes(2).xls
    36 KB · Affichages: 39

polisconne

XLDnaute Junior
Re : changer format cellule

Bonjour,

Pas sur d'avoir compris car pas d'exemple joint ni aucune explication quant à la saisie imposée pour 1mn54,4 est 00:01:54.0
Pourquoi et comment le format est-il imposé ?

Ce que tu peux essayer :
Par la correction orthographique, remplacer .. par :
Puis saisir dans la cellule 1..54

Je vous envoie le fichier en question. Il n'est pas aboutit mais j'aimerai pouvoir saisir les temps plus simplement.
 

Pièces jointes

  • Notauto demifond 2013.xls
    76 KB · Affichages: 41

polisconne

XLDnaute Junior
Re : changer format cellule

Bonjour,

je n'ai rien contre les macros, bien au contraire. Le problème est que je ne maitrise pas ces procédés, pour les construire (là c'est pas grave, vous me la donnez) et également pour l'intégrer à un fichier. Mais je vais essayer.
Merci à vous
Polisconne
 

job75

XLDnaute Barbatruc
Re : changer format cellule

Bonjour polisconne, le forum,

je n'ai rien contre les macros, bien au contraire.

Alors dans le code de la feuille Barème (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, d As Single
Set r = Intersect(Target, Me.UsedRange)
If Not r Is Nothing Then
  For Each r In r 'si entrées multiples (copier coller)
    If Not IsNumeric(r) Then
      If r Like "#*#.*" Then
        d = Val(Mid(r, InStr(r, ".") + 1))
        r = Int(Val(r)) / 1440 + d / 86400
      End If
    End If
  Next
End If
End Sub
Toutes les cellules de la feuille sont controlées.

Nota : si nécessaire (dites-le) on peut contrôler toutes les feuilles avec une seule macro.

Fichier joint.

A+
 

Pièces jointes

  • Notauto demifond 2013(1).xls
    97.5 KB · Affichages: 32

polisconne

XLDnaute Junior
Re : changer format cellule

Avant tout merci.
3 questions:
le "." de 10.42 est différent de celui du du clavier numérique?
Comment procéder pour couvrir toutes les feuilles. J'ai peur que ce soir nécessaire!
Ensuite seules les cellules au format h:mn:sec seront concernées?
 

job75

XLDnaute Barbatruc
Re : changer format cellule

Re,

le "." de 10.42 est différent de celui du du clavier numérique?
Oui, en général le point du pavé numérique entre une virgule, et pas un point.

Pour pouvoir utiliser uniquement le pavé numérique je remplace donc le point par le signe + => 10+50+4 pour 0:10:50,4

Comment procéder pour couvrir toutes les feuilles. J'ai peur que ce soir nécessaire!
Alors mettez cette unique macro dans ThisWorkbook :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
  ByVal Source As Range)
Dim r As Range, d As Single
Set r = Intersect(Source, Sh.UsedRange)
If Not r Is Nothing Then
  For Each r In r 'si entrées multiples (copier coller)
    If r Like "#*#+*" Then
      d = Val(Replace(Mid(r, InStr(r, "+") + 1), "+", "."))
      r = Int(Val(r)) / 1440 + d / 86400
    End If
  Next
End If
End Sub
Ensuite seules les cellules au format h:mn:sec seront concernées?
Pour avoir le 1/10ème de seconde mettre les cellules au format h:mm:ss,0

Toutes les cellules qui répondent au critère deviennent numériques, et leur affichage dépend du format appliqué.

Fichier (2).

A+
 

Pièces jointes

  • Notauto demifond 2013(2).xls
    99.5 KB · Affichages: 37

Discussions similaires

Réponses
93
Affichages
2 K

Statistiques des forums

Discussions
312 875
Messages
2 093 144
Membres
105 638
dernier inscrit
cordier