Masquer un partie de cellule

Fermé
kochon77777 Messages postés 7 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 22 juin 2011 - 20 juin 2011 à 21:21
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 22 juin 2011 à 19:48
Bonjour à tous,

J'ai un tableau me permettant de planifier le jour et heures de départ selon un temps de trajet et une heure d'arrivée.
Exemple :
A1 > 15:28:12 ( temps de trajet )
B1 > 22/06/2011 10:00:00 (heure d'arrivée souhaitée)
C1 > =B1-A1 ( ce qui me donne 21/06/2011 18:31:48)

Cependant il m'arrive d'avoir un temps de trajet important ce qui me donne une heure de départ la veille de la date saisie ( comme ci dessus).
Et je souhaiterais que la date dans la cellule C1 soit masquée lorsqu'elle est identique à celle présente dans la cellule B1.

J'espère avoir été clair, merci d'avance pour votre aide

6 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 20/06/2011 à 21:42
Bonsoir

vous pouvez obtenir ça avec une mise en forme conditionnelle, c'est sans doute ce qu'il y a de plus simple.
Le chemin dépend de l'age de votre excel:
sélectionnez C1
excel avant 2007: format / mise en forme conditionnelle/ la formule est
excel 2007:
Ruban / Onglet accueil / Mise en forme conditionnelle / nouvelle régle/ La formule est:
entrez cette formule:
=ENT(B1)=ENT(B1-A1)
format:
nombre/personnalisé et dans la "fenêtre" type :
hh:mm:ss

qui vous affichera un format identique à B1 si le jour B1 est différent de celui en C1, et n'affichera que l'heure si le jour est le même.

crdlmnt

ps
ici, ce que ça devrait donner:
http://www.cijoint.fr/cjlink.php?file=cj201106/cijWVTx2Hw.xls

Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
0
kochon77777 Messages postés 7 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 22 juin 2011 1
21 juin 2011 à 01:27
la formule marche bien mais je ne retrouve pas les valeurs initiale lorsque je supprime ou modifie la valeur en A1 sinon ça fonctionne bien!! je suis sur Excel 2007

Et Merci pour ton aide
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 244
Modifié par eriiic le 21/06/2011 à 08:08
Bonjour tout le monde,

Précise la version excel où ça sera utilisé : sur excel <= 2003 on ne peut changer un format d'affichage dans une MFC.
Une formule qui marche sur toutes les versions :
=SI(ENT(B1-A1)=ENT(B1);TEXTE(B1-A1;"hh:mm");B1-A1)
eric
0
Raymond PENTIER Messages postés 58747 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 décembre 2024 17 248
21 juin 2011 à 02:12
Format de cellule/Nombre/Date/13:50:55
0
Raymond PENTIER Messages postés 58747 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 décembre 2024 17 248
21 juin 2011 à 14:21
Alors ! As-tu au moins essayé le format du post #3 ?
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 244
21 juin 2011 à 15:48
Salut raymond,

En fait il veut un format différent selon le résultat dans la cellule.
Ta proposition n'est pas suffisante.
eric
0
Raymond PENTIER Messages postés 58747 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 4 décembre 2024 17 248
21 juin 2011 à 19:17
Ouais, en effet ; ce n'est pas ce que j'avais compris ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kochon77777 Messages postés 7 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 22 juin 2011 1
22 juin 2011 à 18:08
ta solution eriiic marche bien mais le nouveau soucis c'est que maintenant je ne peux plus trier mes lignes car les cellules contiennent des formule.
Je cherche donc à convertir en vba la formule suivante car je ne trouve pas d'autre solution sachant que je veux exécuter cette formule de la ligne 12 à la ligne 41 ou 12 à 15 cela dépend des cellule renseignées:
=SI(B12="";"";SI(ENT(B5-B12)=ENT(B5);TEXTE(B5-B12;"hh:mm:ss");B5-B12))
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 244
22 juin 2011 à 19:48
Bonjour,

Tant qu'à passer au vba autant garder la formule simple et mettre le bon format.
Ne sachant comment tu utilises ta feuille (saisie ou importation) j'ai mis 2 macros évènementielles :
- 1 en cas de saisie de temps ou de date
- 1 sur activation de la feuille

Private Sub Worksheet_Activate()
    Dim c As Range
    For Each c In [C2:C41]
        formatDate (c)
    Next c
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [A2:B9]) Is Nothing Then
        formatDate (Cells(Target.Row, 3))
    End If
End Sub

Sub formatDate(d1 As Range)
        If Int(d1) = Int(d1.Offset(0, -1)) Then
            d1.NumberFormat = "hh:mm"
        Else
            d1.NumberFormat = "dd/mm/yy hh:mm"
        End If
End Sub

avec .Offset(0, -1) je compare avec la cellule à gauche de la cellule à formater.
Corrige l'offset si besoin

http://www.cijoint.fr/cjlink.php?file=cj201106/cijANt29Rw.xls

eric
0