Pb de format ce cellule sous excel

dodoremix

XLDnaute Nouveau
Bonjour,

Je debute en excel et j ai des lacunes pour le vba
J ai un problème de format de date dans une feuille excel.
En effet,je ne comprend pas pourquoi la date ne peut etre interprétée comme telle.
J ai une date sous ce format 19-03-2008 07:30:01 mais avec un format special jj/mm/aa .Déjà là je ne comprend pas la logique d excel.

Donc ce problème se posent à moi :

Comment je peux faire (en vba) pour transcrire cette valeur en date formatée en jj/mm/aa au lieu de la valeur au dessus ?
D'avance merci de votre aide.
J ai un ficchier en pièce jointe
 

Pièces jointes

  • essai.xls
    14 KB · Affichages: 62
  • essai.xls
    14 KB · Affichages: 58
  • essai.xls
    14 KB · Affichages: 61

ftho

XLDnaute Occasionnel
Re : Pb de format ce cellule sous excel

Bonjour,

En VBA jj/mm/aa s'écrit dd/mm/yy

Exemple :

Soit Range("A1") = Date et en cellule A1 tu vas avoir 25/03/2008
Soit Range("A1") = Format(Date, "dd/mm/yy") et cela donnera 25/03/08
 

Pierrot93

XLDnaute Barbatruc
Re : Pb de format ce cellule sous excel

Bonjour Dodoremix, ftho

Si j'ai bien compris, regarde peut être la macro ci dessous :

Code:
Sub test()
Dim c As Range
For Each c In Range("C2:C" & Range("C65536").End(xlUp).Row)
c.Value = DateValue(c.Value)
Next c
End Sub

bon après midi
@+
 

dodoremix

XLDnaute Nouveau
Re : Pb de format ce cellule sous excel

Bonjour,

Merci pour votre aide à tous les deux mais je me retrouve confronter encore à un pb en fait je dois faire plusieurs choses.
Pour chaque champs de la colonne A et B qui sont egaux je dois voir si les dates sont les mêmes.
Si les dates sont les mêmes pour plusieurs lignes dont les données a et B sont égales alors je ne compte qu une ligne.
Si les dates sont differentes alors je compte un increment par nombre de ligne
Comme dans l exemple ci dessous ou dans la feuille fournis plus haut.

Donc là je dois avoir comme résultat 2 puisque il apparait sur deux dates differentes même s ily a trois lignes

AA BB 18/03/08
AA BB 17/03/08
AA BB 17/03/08

Donc j ai toujours ce problème de comparaison de date j ai essayé la commande =SI(C2=C3;Egal;Nonegal) pour voir si il était reconnu et ja i eue #NOM? en retour.
Merci encore de votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : Pb de format ce cellule sous excel

Re

peut être avec un tableau croisé dynamique, regarde le fichier joint.


bonne fin d'après midi
@+
 

Pièces jointes

  • essai.zip
    8.2 KB · Affichages: 15
  • essai.zip
    8.2 KB · Affichages: 17
  • essai.zip
    8.2 KB · Affichages: 18

dodoremix

XLDnaute Nouveau
Re : Pb de format ce cellule sous excel

Merci beaucoup pour ton aide mais en fait mon problème est un spécial en fait mon fichier il a plusieurs onglets (qui sont nommé 'journée du "veille" à "aujourd'hui"') sur une semaine soit 7 onglets + 1 bilan.

J ai commencé un bout de code mais qui bug
Sheets("bil").Select
For Each Vlafeuil In Worksheets ' pour chaque feuille du classeur
If Vlafeuil.Name <> ActiveSheet.Name Then ' si autre que bil
dernier = Sheets(Vlafeuil.Name).Range("D65536").End(xlUp).Row 'recherche de la dernière ligne
Sheets(Vlafeuil.Name).Range("B2:D" & dernier).Select 'selection de la plage de donnée
Application.CutCopyMode = True
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Sheets:=1
Sheets("bil").Select
ActiveSheet.Paste
ActiveWindow.ScrollWorkbookTabs Sheets:=1

End If

Next

Je ne comprends pas mon erreur.

Merci de votre aide encore une fois
 

dodoremix

XLDnaute Nouveau
Re : Pb de format ce cellule sous excel

Bon decidement je suis pas super doué j ai fait ces commandes mais ca foire

pos_dans_feuille = Sheets("bil").Range("A65536").End(xlUp).Row

nb = 3
nombre = 0
Range("E2").Select
Set Plage = Range("A2:C" & pos_dans_feuille)
For Each Cell In Plage
pos_dans_col_F = Sheets("bil").Range("F65536").End(xlUp).Row
If (Range("E" & nb).Value = Range("E" & nb - 1).Value) Then
If (Range("C" & nb).Value = Range("C" & nb - 1).Value) Then
nombre = 1
Else
nombre = nombre + 1
End If
Range("F" & pos_dans_col_F).Select
Range("F" & pos_dans_col_F).Value = nombre
Else
Range("F" & pos_dans_col_F).Select
Range("F" & pos_dans_col_F).Value = nombre

End If
nb = nb + 1
Next

Pour moi c que je veux faire c'est de regarder toutes les lignes de la colonne E et les comparez une à une (elles sont ordonnées automatiquement).
Si deux lignes de la colonne E sont égales alors je regarde dans la colonne C si les deux dates des cellules correspondent.
Si oui alors j increment d un le nombre et je le place sur une autre feuille (pas encore fait dans le script) en mettant la ligne de la colonne E en face

Comme ci dessous

A B date E
AA BB 17/03/2008 CONCATENER(A;B)
AA BB 17/03/2008 CONCATENER(A;B)
AA BB 18/03/2008 CONCATENER(A;B)
AC ABB 18/03/2008 CONCATENER(A;B)

Dans l autre feuille on doit avoir

AA BB 2
AC ABB 1

La date doit disparaitre du résultat final mais il doit jouer sur le nombre d occurence. Donc on dedoublonne les données d un même jour mais pas de jour different.
Est ce posssible ?
Merci au courageux volontaire
 

Discussions similaires

Statistiques des forums

Discussions
312 763
Messages
2 091 858
Membres
105 079
dernier inscrit
Biscot_399