changer format cellule

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 !

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
 
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
 
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

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

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

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
 
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

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?
 
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

- 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

Discussions similaires

Réponses
2
Affichages
918
Retour