OVH Cloud OVH Cloud

Format affichage date dans grille

23 réponses
Avatar
Marc de N.
Bonjour =E0 toutes et tous

Lors d'un affichage pour consultation d'une grille de=20
donn=E9e.
La date s'affiche en format MM/JJ/AA
Sur la feuille de donn=E9es ces dates =E9taient en format=20
JJ/MM/AAAA
Recherche la commande pour de l'affichage sur la grille de=20
donn=E9es de cette date soit en format JJ/MM/AAAA
Pour afficher cette grille j'ai =E9crit=20
---------------------------------------
Private Sub CommandButton1_Click()
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
ActiveSheet.Protect DrawingObjects:=3DTrue,=20
Contents:=3DTrue, Scenarios:=3DTrue
ActiveSheet.ShowDataForm
ActiveSheet.Unprotect
End Sub
------------------------------------
Merci de votre aide=20
@+ Slts
Marc=20

PS : Je suis en Excel 97

10 réponses

1 2 3
Avatar
Marc de N.
Bonjour Alain, Modeste, Denis

Ayant actuellement d'autre priorité, c'est avec une
surprise certaine que j'ai pris connaissance du débat
qu'avait suscité ma question.
Primo pour définir le format d'une cellule dans une
feuille je connais une seule façon en manuel elle est :
Format cellule - l'onglet « Nombre » dans lequel je
sélectionne date puis le format que j'ai besoin.
Le panneau de config je ne connais pas ! Merci de
m'indiquer comment faire pour y accéder.
Secundo J'ai bien entendu les arguments de Modeste.
Cela à donnée
-------------------------------
Sub DatesFormatFR()
With ActiveSheet
SendKeys "%DG"
End With
End Sub

Private Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
Call DatesFormatFR
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True
ActiveSheet.ShowDataForm
ActiveSheet.Unprotect
End Sub
------------------------------
Cela ralenti l'ouverture du fichier.
Et la date est toujours sous la forme MM/JJ/AA ? ? ? ?
Mon cas est-il curable ? Je suis en Excel 97
Salutations bon W.E.,
à Mardi
Marc

-----Message d'origine-----
Bonjour à toutes et tous

Lors d'un affichage pour consultation d'une grille de
donnée.
La date s'affiche en format MM/JJ/AA
Sur la feuille de données ces dates étaient en format
JJ/MM/AAAA
Recherche la commande pour de l'affichage sur la grille
de

données de cette date soit en format JJ/MM/AAAA
Pour afficher cette grille j'ai écrit
---------------------------------------
Private Sub CommandButton1_Click()
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True
ActiveSheet.ShowDataForm
ActiveSheet.Unprotect
End Sub
------------------------------------
Merci de votre aide
@+ Slts
Marc

PS : Je suis en Excel 97
.



Avatar
AV
Le panneau de config je ne connais pas ! Merci de
m'indiquer comment faire pour y accéder.


(win98) Bouton Démarrer > Paramètres > Panneau de config > double-clic sur
l'icône "Paramètres régionaux" > Onglet "Date" > vérifier le style de date
courte

Secundo J'ai bien entendu les arguments de Modeste.
......qui sur ce coup, a fait preuve de la plus parfaite mauvaise foi !


;-)
AV

Avatar
Denis Michon
Bonjour gee-dee,

Ce n'est pas loin de ce que j'avais proposé (excel 2002)

'----------------
With Worksheets("Feuil1")
.Unprotect
.Activate
.Range("A1").Select
Application.DisplayAlerts = True
Application.CommandBars.FindControl(ID:†0).Execute
.Protect
End With
'----------------

;-)

Salutations!



"gee-dee-" a écrit dans le message de news:
Bonsoir,
ayant posté ma réponse précédente (aprés essai) depuis un poste EXCEL 95 W98
j'ai été quelque peu surpris que la solution proposée ne fonctionne pas !!!!

ce soir avec XP et EXCEL 2002, je suis encore plus surpris que même ton code ne fonctionne pas !!!!

mais aprés analyse :
1 - en Excel 2002 la commande sendkeys pour afficher la grille est : sendkeys "%Do"
(Données, Formulaire)
2 - dans la macro il est inutile d'appeler deux fois la grille

donc apres correction :

Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
[A1].Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
SendKeys "%Do"
ActiveSheet.Unprotect
End Sub

@+
Avatar
gee-dee-
;-)))
en effet Denis,
mais tu auras remarqué que j'ai quelques difficultés à penser EXCEL 2002
ayant été adepte de EXCEL 95 depuis sa sortie
notament au niveau des objets : boites de dialogue, formulaires, userform
je m'y mélange les pinceaux....;-)))

Nb:
ou trouve-t-on les n°ID des controls ?.
@+
Avatar
Denis Michon
Bonsoir Gee-dee,

Voici une procédure de Laurent Longre sur le sujet. Elle te permettre d'afficher dans une feuille, le nom des commandes
et leur numéro ID associé. Une alternative est de les mémoriser !! ;-))


'======================== Dim I As Integer, J As Integer

Sub ListeIDS()
'L Longre
Dim CmdB As CommandBar
I = 1: J = 0
Cells.Clear
Application.ScreenUpdating = False
For Each CmdB In Application.CommandBars
Récurse CmdB
Next CmdB
With Range("A1").CurrentRegion
.Font.Size = 8
.EntireColumn.AutoFit
.EntireRow.AutoFit
End With
End Sub

Private Sub Récurse(CmdB As Object)
Dim Ctrl As CommandBarControl
J = J + 1
For Each Ctrl In CmdB.Controls
With Cells(I, J)
.Value = Ctrl.Caption & IIf(Ctrl.BuiltIn, " = " & Ctrl.ID, "")
If J = 1 Then .Font.Bold = True
End With
If Ctrl.Type = msoControlPopup Then Récurse Ctrl Else I = I + 1
Next Ctrl
J = J - 1
End Sub
'=======================

Une façon artisanale et simple d'obtenir le ID d'un contrôle lorsque l'on ne possède pas ces procédures :

Un petit exemple :

Pour trouver le ID de la commande enregistrer ....
A = Applications.commandbars(1).controls(1).controls(3).Id

Applications.commandbars(1) = barre des menus
.controls(1) = Fait référence à item du menu "Fichier" . Le 1 pour le premier élément du menu.
.controls(3) = Fait référence à item du sous menu fichier "Enregistrer" . Le 3 pour le troisième élément du sous-menu
de Fichier.


Salutations!



"gee-dee-" a écrit dans le message de news:%23V%
;-)))
en effet Denis,
mais tu auras remarqué que j'ai quelques difficultés à penser EXCEL 2002
ayant été adepte de EXCEL 95 depuis sa sortie
notament au niveau des objets : boites de dialogue, formulaires, userform
je m'y mélange les pinceaux....;-)))

Nb:
ou trouve-t-on les n°ID des controls ?.
@+
Avatar
Marc de N.
Alain

Merci
O.K. "la date" est bien jj/MM/aaaa
Dans ma grille commandée par VBA cela s'affiche toujours
mm/jj/aa
Cela ne correspond pas à ma demande ! !
Slts
Marc

-----Message d'origine-----
Le panneau de config je ne connais pas ! Merci de
m'indiquer comment faire pour y accéder.


(win98) Bouton Démarrer > Paramètres > Panneau de config
double-clic sur
l'icône "Paramètres régionaux" > Onglet "Date" > vérifier
le style de date

courte

Secundo J'ai bien entendu les arguments de Modeste.
.......qui sur ce coup, a fait preuve de la plus parfaite

mauvaise foi !


;-)
AV


.




Avatar
Marc de N.
Bonjour gee-dee- Denis

Merci de votre aide et de votre patience car je ne
comprends pas toujours tous.
Je suis Excel 97
J'ai fais un copier coller de la proposition de gee-dee-
Lorsque je clique sur le bouton
Il ne se passe rien ! ! !
Je commence à désespérer
Que faut-il faire ?
Salutations
Marc

-----Message d'origine-----
Bonsoir,
ayant posté ma réponse précédente (aprés essai) depuis un
poste EXCEL 95 W98

j'ai été quelque peu surpris que la solution proposée ne
fonctionne pas !!!!


ce soir avec XP et EXCEL 2002, je suis encore plus
surpris que même ton code ne fonctionne pas !!!!


mais aprés analyse :
1 - en Excel 2002 la commande sendkeys pour afficher la
grille est : sendkeys "%Do"

(Données, Formulaire)
2 - dans la macro il est inutile d'appeler deux fois la
grille


donc apres correction :

Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
[A1].Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True

SendKeys "%Do"
ActiveSheet.Unprotect
End Sub

@+



Avatar
Denis Michon
Bonjour Marc,

Lorsque tu utilises une procédure comme celle de Gee-dee,

Tu dois obligatoirement l'exécuter à partir de la feuille de calcul soit par la fenêtre où est affiché la liste des
macros disponibles ou par un bouton de commande appelant la macro. Tout ceci à cause de la commande SendKeys() .

Dans la commande suivante de la procédure : sendkeys "%Do"

Le "D" représente la lettre souligné de la commande "Données"
Le "o" représente la lettre souligne de la commande "Formulaire" du sous-menu "Données" . Dans les versions précédentes
à excel 2002, cette commande ne s'appelle pas "formulaire" mais grille. En conséquence la lettre soulignée n'est
sûrement pas le "o" mais une autre lettre du mot Grille.
Regarde la commande sous le menu "Données", et remplace la ligne de commande le "o" par la lettre soulignée du mot
"Grille".

Probablement que ta ligne de code : sendkeys "%Do" deviendra : sendkeys "%DG" à toi de faire la vérification !



Salutations!






"Marc de N." a écrit dans le message de news:0d1701c38cb6$17070b60$
Bonjour gee-dee- Denis

Merci de votre aide et de votre patience car je ne
comprends pas toujours tous.
Je suis Excel 97
J'ai fais un copier coller de la proposition de gee-dee-
Lorsque je clique sur le bouton
Il ne se passe rien ! ! !
Je commence à désespérer
Que faut-il faire ?
Salutations
Marc

-----Message d'origine-----
Bonsoir,
ayant posté ma réponse précédente (aprés essai) depuis un
poste EXCEL 95 W98

j'ai été quelque peu surpris que la solution proposée ne
fonctionne pas !!!!


ce soir avec XP et EXCEL 2002, je suis encore plus
surpris que même ton code ne fonctionne pas !!!!


mais aprés analyse :
1 - en Excel 2002 la commande sendkeys pour afficher la
grille est : sendkeys "%Do"

(Données, Formulaire)
2 - dans la macro il est inutile d'appeler deux fois la
grille


donc apres correction :

Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
[A1].Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True

SendKeys "%Do"
ActiveSheet.Unprotect
End Sub

@+



Avatar
Marc de N.
Merci Michel de ton aide

Je suis en Excel 97
Dans la succession des questions / réponses, il y a eut un
certain glissement dans l'énoncé de ma question.
J'ouvre une grille avec des champs date JJ/MM/AA par une
Commande VBA exemple
----------------------------------------
Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True
ActiveSheet.Unprotect
End Sub
-------------------------
Les dates dans la grille apparaissent MM/JJ/AA
Avec les explications de Gee-dee
j'ai compris qu'une grille ouverte avec VBA donnait des
dates sous la forme MM/JJ/AA
En Excel 97 il y a t-il une commande pour mettre les dates
sous la forme JJ/MM/AA
La Cde SendKeys « %DG » n'ouvre pas la grille !
Merci de votre aide bon W.E.
Marc


-----Message d'origine-----
Bonjour Marc,

Lorsque tu utilises une procédure comme celle de Gee-dee,

Tu dois obligatoirement l'exécuter à partir de la feuille
de calcul soit par la fenêtre où est affiché la liste des

macros disponibles ou par un bouton de commande appelant
la macro. Tout ceci à cause de la commande SendKeys() .


Dans la commande suivante de la procédure : sendkeys "%Do"

Le "D" représente la lettre souligné de la
commande "Données"

Le "o" représente la lettre souligne de la
commande "Formulaire" du sous-menu "Données" . Dans les

versions précédentes
à excel 2002, cette commande ne s'appelle
pas "formulaire" mais grille. En conséquence la lettre

soulignée n'est
sûrement pas le "o" mais une autre lettre du mot Grille.
Regarde la commande sous le menu "Données", et remplace
la ligne de commande le "o" par la lettre soulignée du mot

"Grille".

Probablement que ta ligne de code : sendkeys "%Do"
deviendra : sendkeys "%DG" à toi de faire la

vérification !



Salutations!






"Marc de N." a écrit dans le
message de news:0d1701c38cb6$17070b60$

Bonjour gee-dee- Denis

Merci de votre aide et de votre patience car je ne
comprends pas toujours tous.
Je suis Excel 97
J'ai fais un copier coller de la proposition de gee-dee-
Lorsque je clique sur le bouton
Il ne se passe rien ! ! !
Je commence à désespérer
Que faut-il faire ?
Salutations
Marc

-----Message d'origine-----
Bonsoir,
ayant posté ma réponse précédente (aprés essai) depuis un
poste EXCEL 95 W98

j'ai été quelque peu surpris que la solution proposée ne
fonctionne pas !!!!


ce soir avec XP et EXCEL 2002, je suis encore plus
surpris que même ton code ne fonctionne pas !!!!


mais aprés analyse :
1 - en Excel 2002 la commande sendkeys pour afficher la
grille est : sendkeys "%Do"

(Données, Formulaire)
2 - dans la macro il est inutile d'appeler deux fois la
grille


donc apres correction :

Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
[A1].Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True

SendKeys "%Do"
ActiveSheet.Unprotect
End Sub

@+




.




Avatar
Marc de N.
Denis

OK avec une plage nommée « Base_de _données » SendKeys « %
DG » fonctionne.
Contrairement à la Cde en VBA les champs peuvent être
modifier.
Pour moi, il est impératif que les données ne puissent pas
être modifier.
L'affichage des grilles sont pour des consultations.
Salutations à +
Marc
Je te présente mais excuse pour l'erreur du prénom

-----Message d'origine-----
Merci Michel de ton aide

Je suis en Excel 97
Dans la succession des questions / réponses, il y a eut
un

certain glissement dans l'énoncé de ma question.
J'ouvre une grille avec des champs date JJ/MM/AA par une
Commande VBA exemple
----------------------------------------
Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True
ActiveSheet.Unprotect
End Sub
-------------------------
Les dates dans la grille apparaissent MM/JJ/AA
Avec les explications de Gee-dee
j'ai compris qu'une grille ouverte avec VBA donnait des
dates sous la forme MM/JJ/AA
En Excel 97 il y a t-il une commande pour mettre les
dates

sous la forme JJ/MM/AA
La Cde SendKeys « %DG » n'ouvre pas la grille !
Merci de votre aide bon W.E.
Marc


-----Message d'origine-----
Bonjour Marc,

Lorsque tu utilises une procédure comme celle de Gee-dee,

Tu dois obligatoirement l'exécuter à partir de la
feuille


de calcul soit par la fenêtre où est affiché la liste des
macros disponibles ou par un bouton de commande appelant
la macro. Tout ceci à cause de la commande SendKeys() .


Dans la commande suivante de la procédure : sendkeys "%
Do"



Le "D" représente la lettre souligné de la
commande "Données"

Le "o" représente la lettre souligne de la
commande "Formulaire" du sous-menu "Données" . Dans les

versions précédentes
à excel 2002, cette commande ne s'appelle
pas "formulaire" mais grille. En conséquence la lettre

soulignée n'est
sûrement pas le "o" mais une autre lettre du mot Grille.
Regarde la commande sous le menu "Données", et remplace
la ligne de commande le "o" par la lettre soulignée du mot

"Grille".

Probablement que ta ligne de code : sendkeys "%Do"
deviendra : sendkeys "%DG" à toi de faire la

vérification !



Salutations!






"Marc de N." a écrit dans le
message de news:0d1701c38cb6$17070b60$

Bonjour gee-dee- Denis

Merci de votre aide et de votre patience car je ne
comprends pas toujours tous.
Je suis Excel 97
J'ai fais un copier coller de la proposition de gee-dee-
Lorsque je clique sur le bouton
Il ne se passe rien ! ! !
Je commence à désespérer
Que faut-il faire ?
Salutations
Marc

-----Message d'origine-----
Bonsoir,
ayant posté ma réponse précédente (aprés essai) depuis
un



poste EXCEL 95 W98
j'ai été quelque peu surpris que la solution proposée ne
fonctionne pas !!!!


ce soir avec XP et EXCEL 2002, je suis encore plus
surpris que même ton code ne fonctionne pas !!!!


mais aprés analyse :
1 - en Excel 2002 la commande sendkeys pour afficher la
grille est : sendkeys "%Do"

(Données, Formulaire)
2 - dans la macro il est inutile d'appeler deux fois la
grille


donc apres correction :

Sub CommandButton1_Click()
'Voir feuille devis
Windows(NCDevisLigne & ".xls").Activate
Sheets("devis").Select
[A1].Select
ActiveSheet.Protect DrawingObjects:=True,
Contents:=True, Scenarios:=True

SendKeys "%Do"
ActiveSheet.Unprotect
End Sub

@+




.

.






1 2 3