Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

J ai trouvé c bon finalement en faisant fonctionnémon cerveau j ai reussit . enfin juste l import des onglets dans une feuille bilan maintenant je dois faire le tri en fonction de la date.

 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…