[AIDE] Macro commande De date sous excel
Résolu/Fermé
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
-
10 juin 2008 à 12:46
ribery_7_91 Messages postés 233 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 4 septembre 2010 - 10 juin 2008 à 14:48
ribery_7_91 Messages postés 233 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 4 septembre 2010 - 10 juin 2008 à 14:48
A voir également:
- [AIDE] Macro commande De date sous excel
- Invite de commande - Guide
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Commande terminal mac - Guide
9 réponses
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 12:50
10 juin 2008 à 12:50
Pas de date antérieure à 2000 ?
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 12:52
10 juin 2008 à 12:52
non je ne pense pas
on va considérer sue non
si tu peux m'aider pour toutes les dates aprés 2000 ça serait deja cool et sa me donnerais une idée
je te remercie
on va considérer sue non
si tu peux m'aider pour toutes les dates aprés 2000 ça serait deja cool et sa me donnerais une idée
je te remercie
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 13:09
10 juin 2008 à 13:09
Essaies ca :
'Cellule Supposée en A1, sinon changer ligne = colonne ligne = 1 colonne = 1 Do While Not (IsEmpty(Cells(ligne, colonne))) annee = 2000 + Int(Cells(ligne, colonne).Value / 10000) mois = Int((Cells(ligne, colonne).Value - 60000) / 100) Jour = Cells(ligne, colonne).Value - 60000 - 100 * mois If mois < 10 Then mois = "0" & mois If Jour < 10 Then Jour = "0" & Jour NouvelleDate = Jour & "/" & mois & "/" & annee ' DECOMMENTER LA LIGNE SUIVANTE POUR AFFICHAGE SEULEMENT 'MsgBox NouvelleDate ' DECOMMENTER LA LIGNE SUIVANT POUR METTRE LE RESULTAT EN COLONNE B 'Cells(ligne, colonne + 1).Value = CDate(NouvelleDate) ligne = ligne + 1 Loop
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
>
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
10 juin 2008 à 13:19
10 juin 2008 à 13:19
Tu lances l'éditeur Visual Basic (Outils, Macro, Visual Basic Editor ou ALT + F11)
Une fois l'éditeur lancé tu fais Insertion, Module
Et tu y copies le code suivant :
Tu peux ensuite exécuter la macro en faisant Outils, Macro, Macros ... ou ALT + F8
Une fois l'éditeur lancé tu fais Insertion, Module
Et tu y copies le code suivant :
Sub ChangeDate() 'Cellule Supposée en A1, sinon changer ligne + colonne ligne = 1 colonne = 1 Do While Not (IsEmpty(Cells(ligne, colonne))) annee = 2000 + Int(Cells(ligne, colonne).Value / 10000) mois = Int((Cells(ligne, colonne).Value - 60000) / 100) Jour = Cells(ligne, colonne).Value - 60000 - 100 * mois If mois < 10 Then mois = "0" & mois If Jour < 10 Then Jour = "0" & Jour NouvelleDate = Jour & "/" & mois & "/" & annee ' DECOMMENTER LA LIGNE SUIVANTE POUR AFFICHAGE SEULEMENT 'MsgBox NouvelleDate ' DECOMMENTER LA LIGNE SUIVANT POUR METTRE LE RESULTAT EN COLONNE B 'Cells(ligne, colonne + 1).Value = CDate(NouvelleDate) ligne = ligne + 1 Loop End Sub
Tu peux ensuite exécuter la macro en faisant Outils, Macro, Macros ... ou ALT + F8
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 13:11
10 juin 2008 à 13:11
mais sa j'en fais quoi
je l'affecte à une cellule??
je l'affecte à une cellule??
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 13:30
10 juin 2008 à 13:30
je ne sais pas comment faire pour l'executer
je suis novice et j'ai office 2007
je met le chiffre 60201 dans une cellule et je fais quoi aprés??
je suis novice et j'ai office 2007
je met le chiffre 60201 dans une cellule et je fais quoi aprés??
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 13:44
10 juin 2008 à 13:44
Je n'ai pas Office 2007, mais on doit pouvoir y arriver malgré tout, qu'a tu réussi à faire pour le moment ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 13:56
10 juin 2008 à 13:56
Pour le moment j'ai reussi a creer la macro mais je n'arrive pas a l'affecter a une cellule pour qu'elle me convertisse mon chiffre
j'ai mis 60201 dans une cellule maintenant je dois faire quoi pour que ça convertisse cette valeur??
j'ai mis 60201 dans une cellule maintenant je dois faire quoi pour que ça convertisse cette valeur??
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 14:02
10 juin 2008 à 14:02
Donc tu as copié la macro dans un nouveau module dans l'editeur Visual Basic, tu dois maintenant y décommenter une des deux lignes (ou les deux) en enlevant l'apostrophe parmi :
' DECOMMENTER LA LIGNE SUIVANTE POUR AFFICHAGE SEULEMENT
'MsgBox NouvelleDate
' DECOMMENTER LA LIGNE SUIVANT POUR METTRE LE RESULTAT EN COLONNE B
'Cells(ligne, colonne + 1).Value = CDate(NouvelleDate)
La premiere commande affiche une boite de dialogue, la seconde transforme la date au format 60201 (de la colonne A) au format date en colonne B
Une fois le commentaire supprimé, tu appuies simultanément sur ALT et F8 , tu sélectionnes la macro ChangeDate et tu cliques sur Executer
' DECOMMENTER LA LIGNE SUIVANTE POUR AFFICHAGE SEULEMENT
'MsgBox NouvelleDate
' DECOMMENTER LA LIGNE SUIVANT POUR METTRE LE RESULTAT EN COLONNE B
'Cells(ligne, colonne + 1).Value = CDate(NouvelleDate)
La premiere commande affiche une boite de dialogue, la seconde transforme la date au format 60201 (de la colonne A) au format date en colonne B
Une fois le commentaire supprimé, tu appuies simultanément sur ALT et F8 , tu sélectionnes la macro ChangeDate et tu cliques sur Executer
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 14:09
10 juin 2008 à 14:09
c'est bon ça marche
merci
par contre une autre question
je voudrais faire ça pour toute une colonne et je voudrais que la date qui se "transforme" remplace l'ancinne dans la même cellule
comment faire???
merci
par contre une autre question
je voudrais faire ça pour toute une colonne et je voudrais que la date qui se "transforme" remplace l'ancinne dans la même cellule
comment faire???
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 14:15
10 juin 2008 à 14:15
Ca le fait déjà pour toute une colonne grâce à une boucle
Do While Not(Isempty(Cells(ligne,colonne))) ' Tant que la cellule qui a pour numéro de ligne Ligne et pour une numéro de colonne Colonne n'est pas vide
'Ici le code à executer
Ligne = Ligne + 1 ' On incrémente Ligne pour pouvoir sauter de ligne
Loop
Pour remplacer la date dans la même cellule que celle d'origine, il suffit de remplacer
Cells(ligne, colonne + 1).Value = CDate(NouvelleDate)
par
Cells(ligne, colonne).Value = CDate(NouvelleDate)
Do While Not(Isempty(Cells(ligne,colonne))) ' Tant que la cellule qui a pour numéro de ligne Ligne et pour une numéro de colonne Colonne n'est pas vide
'Ici le code à executer
Ligne = Ligne + 1 ' On incrémente Ligne pour pouvoir sauter de ligne
Loop
Pour remplacer la date dans la même cellule que celle d'origine, il suffit de remplacer
Cells(ligne, colonne + 1).Value = CDate(NouvelleDate)
par
Cells(ligne, colonne).Value = CDate(NouvelleDate)
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 14:22
10 juin 2008 à 14:22
Quand je mets dans une cellule
80201 par exemple il me met qu'il y a une erreur
il me souligne en jaune cette ligne
Cells(ligne, colonne + 1).Value = CDate(NouvelleDate)
pourquoi??
parce que il peut y avoir des dates différentes dans chaque cellule
80201 par exemple il me met qu'il y a une erreur
il me souligne en jaune cette ligne
Cells(ligne, colonne + 1).Value = CDate(NouvelleDate)
pourquoi??
parce que il peut y avoir des dates différentes dans chaque cellule
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 14:27
10 juin 2008 à 14:27
Parce que j'avais bêtement recopié ton exemple (Retirer 60000) à la cellule, ca fonctionnait pour 2006, mais plus pour les autres :
Lignes corrigées :
Mois = Int((Cells(ligne, colonne).Value - (Annee - 2000) * 10000) / 100)
Jour = Cells(ligne, colonne).Value - (Annee - 2000) * 10000 - 100 * Mois
Lignes corrigées :
Mois = Int((Cells(ligne, colonne).Value - (Annee - 2000) * 10000) / 100)
Jour = Cells(ligne, colonne).Value - (Annee - 2000) * 10000 - 100 * Mois
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 14:38
10 juin 2008 à 14:38
sa marche merci
par contre est ce que tu serais d'accord pour m'aider si j'ai besoin d'aide encore car je suis novice dans les macros et tout ça
si sa te dit laisse moi un MP ou un message ici
merci je pense que sa serait plus simple par mail
par contre est ce que tu serais d'accord pour m'aider si j'ai besoin d'aide encore car je suis novice dans les macros et tout ça
si sa te dit laisse moi un MP ou un message ici
merci je pense que sa serait plus simple par mail
onesdf
Messages postés
375
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
17 octobre 2008
120
10 juin 2008 à 14:41
10 juin 2008 à 14:41
Autant que tu laisses un message sur ce forum, si je suis dispo je pourrais t'aider, sinon un autre le fera.
Faut pas oublier que nous aussi on a un boulot ...
Faut pas oublier que nous aussi on a un boulot ...
ribery_7_91
Messages postés
233
Date d'inscription
jeudi 22 novembre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
16
10 juin 2008 à 14:48
10 juin 2008 à 14:48
merci quand méme
je met ce sujet resolu si j'ai un autre probléme je posterais un autre message
merci
je met ce sujet resolu si j'ai un autre probléme je posterais un autre message
merci