A voir également:
- VBA/Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
30 réponses
salut,
tu as essaye d'enregistrer ta macro manuelement ? tu cliques sur enregistrer macro, tu fais tes etapes à la souris et après tu arretes l'enregitrement , ca te génére automatiquement du code. c'est pratique pour les debutants comme moi .
tu as essaye d'enregistrer ta macro manuelement ? tu cliques sur enregistrer macro, tu fais tes etapes à la souris et après tu arretes l'enregitrement , ca te génére automatiquement du code. c'est pratique pour les debutants comme moi .
La macro manuellement marche à merveille cela dit, je n'ai aucune idée comment je peux faire pour le résultats se fasse en fonction de la date.
Si on est mardi, alors il fait la somme de la semaine précédante, je bloque sur ce problème!
Si quelqu'un peut me donner une piste ça serait pas de refus!
Si on est mardi, alors il fait la somme de la semaine précédante, je bloque sur ce problème!
Si quelqu'un peut me donner une piste ça serait pas de refus!
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
4 août 2008 à 11:27
4 août 2008 à 11:27
Bonjour,
Peux tu mettre ici la macro que tu as généré.
Tu dis : Si on est mardi, alors il fait la somme de la semaine précédante ... que fait-on dans les autres cas ?
;o)
Peux tu mettre ici la macro que tu as généré.
Tu dis : Si on est mardi, alors il fait la somme de la semaine précédante ... que fait-on dans les autres cas ?
;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sub Contrats_Semaine()
Application.Workbooks.Open "C:\chemin\Suivi des stocks et des flux Année 2008.xls"
' Contrats Semaine
Windows("Suivi_prod_V29.xls").Activate
Range("F7").Select
ActiveCell.FormulaR1C1 = _
"=SUM('[Suivi des stocks et des flux Année 2008.xls]Juillet'!R11C4:R15C4)"
Range("F8").Select
Workbooks("Suivi des stocks et des flux Année 2008.xls").Activate
ActiveWorkbook.Close False
End Sub
Mais je voudrais qu'il fasse la somme par rapport à la date qu'on est.
En gros il fait la somme, lorsque la semaine est terminé, si le vendredi est passé, alors il fait la somme de la semaine passée. Sachant que dans une semaine ça va du Lundi au Vendredi.
A chaque fois il genere les résultats de la semaine précédante.
Application.Workbooks.Open "C:\chemin\Suivi des stocks et des flux Année 2008.xls"
' Contrats Semaine
Windows("Suivi_prod_V29.xls").Activate
Range("F7").Select
ActiveCell.FormulaR1C1 = _
"=SUM('[Suivi des stocks et des flux Année 2008.xls]Juillet'!R11C4:R15C4)"
Range("F8").Select
Workbooks("Suivi des stocks et des flux Année 2008.xls").Activate
ActiveWorkbook.Close False
End Sub
Mais je voudrais qu'il fasse la somme par rapport à la date qu'on est.
En gros il fait la somme, lorsque la semaine est terminé, si le vendredi est passé, alors il fait la somme de la semaine passée. Sachant que dans une semaine ça va du Lundi au Vendredi.
A chaque fois il genere les résultats de la semaine précédante.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
4 août 2008 à 11:55
4 août 2008 à 11:55
tu veux faire le calcul lorsque tu ouvres le classeur ?
Le problème ne vient pas du calcul mais simplement par rapport à la date.
Pour qu'il puisse me calculer la somme d'une semaine lorsque celle ci est complète, c'est difficile à expliquer ^^
Pour qu'il puisse me calculer la somme d'une semaine lorsque celle ci est complète, c'est difficile à expliquer ^^
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
4 août 2008 à 13:52
4 août 2008 à 13:52
Je vois à peu près ce que tu veux mais également difficile à expliquer ... dans l'éditeur VB, regarde dans l'aide (F1) en tapant Date dans recherche.
Si tu rencontres des difficultés, reviens ici
;o)
Si tu rencontres des difficultés, reviens ici
;o)
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
4 août 2008 à 14:08
4 août 2008 à 14:08
Bonjour tous,
Une petite explication, je vois que tu a tes feuilles qui sont nommées par mois ?
Quand le mois commence, par ex: par mercredi, que doit-tu faire.
Et idem pour la fin du mois.
Chercher des données dans mois précédant ?
A+
Une petite explication, je vois que tu a tes feuilles qui sont nommées par mois ?
Quand le mois commence, par ex: par mercredi, que doit-tu faire.
Et idem pour la fin du mois.
Chercher des données dans mois précédant ?
A+
Si le mois commencent un mercredi je dois prendre le lundi du mois précedant et faire la somme.
Idem pour la fin du mois!
Je vois pas du tout comment procéder!
Merci de votre aide en tout cas, si vous avez d'autres idées à proposer ^^
Idem pour la fin du mois!
Je vois pas du tout comment procéder!
Merci de votre aide en tout cas, si vous avez d'autres idées à proposer ^^
On considère que le modèle des fichiers Excel transmis en exemple ne changera pas, seul le nombre de ligne d’un onglet de fichier à un autre est amené à varier.
La génération de rapport se faisant d’une semaine à l’autre l’application devra par exemple en semaine 30 générer le rapport de la semaine 29 et non celle en cours.
La première chose à faire est donc de déterminer les limites incluses de la semaine passée (la fonction DayOfWeek(ddate As Date) devrait vous être utile pour déterminer le lundi de la semaine passée).
La première donnée à déterminer sera le nombre de dossiers reçus dans la semaine passée, pour cela il vous faudra d’abord créer un lien OLE vers le fichier choisit par l’utilisateur.
Au sein de ce fichier il vous faudra déterminer l’onglet concernant votre semaine en cours, pour cela je vous conseille de commencer à la feuille d’index 0 du fichier Excel, de tester la valeur du mois de la ligne 13 colonne B afin de déterminer à quel mois cet onglet correspond et vous positionner sur le bon onglet.
Une fois l’onglet déterminé il ne vous reste plus qu’à vous positionner à la ligne appropriée pour commencer le comptage (attention une semaine peut être à cheval sur deux mois).
Voila quelques infos que m'a donné mon chef de projet si jamais ça peut vous éclairer un minimum!
La génération de rapport se faisant d’une semaine à l’autre l’application devra par exemple en semaine 30 générer le rapport de la semaine 29 et non celle en cours.
La première chose à faire est donc de déterminer les limites incluses de la semaine passée (la fonction DayOfWeek(ddate As Date) devrait vous être utile pour déterminer le lundi de la semaine passée).
La première donnée à déterminer sera le nombre de dossiers reçus dans la semaine passée, pour cela il vous faudra d’abord créer un lien OLE vers le fichier choisit par l’utilisateur.
Au sein de ce fichier il vous faudra déterminer l’onglet concernant votre semaine en cours, pour cela je vous conseille de commencer à la feuille d’index 0 du fichier Excel, de tester la valeur du mois de la ligne 13 colonne B afin de déterminer à quel mois cet onglet correspond et vous positionner sur le bon onglet.
Une fois l’onglet déterminé il ne vous reste plus qu’à vous positionner à la ligne appropriée pour commencer le comptage (attention une semaine peut être à cheval sur deux mois).
Voila quelques infos que m'a donné mon chef de projet si jamais ça peut vous éclairer un minimum!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 août 2008 à 08:14
5 août 2008 à 08:14
On considère que le modèle des fichiers Excel transmis en exemple ne changera pas
j'ai pas vu ce fichiers Excel transmis ? où est-il
j'ai pas vu ce fichiers Excel transmis ? où est-il
J'ai pas de lien pour founir le tableau mais en gros y'a une colonne "Date"
Avec chaque jour du Lundi au Vendredi, et une autre colonne avec les données que je veux récupérer par rapport à ces dates!
Avec chaque jour du Lundi au Vendredi, et une autre colonne avec les données que je veux récupérer par rapport à ces dates!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 août 2008 à 16:03
5 août 2008 à 16:03
Désolé, avec les renseignements donné impossible de t'aider.
Si tu peu mettre un exemple de ton fichier sur
https://www.cjoint.com/
et mettre le lien dans un poste suivant.
Si tu peu mettre un exemple de ton fichier sur
https://www.cjoint.com/
et mettre le lien dans un poste suivant.
Hm j'ai a peu près trouver comment faire!
Il me manque qu'un petit truc
J'aimerais savoir comment on peut faire pour récupérer le Lundi d'une semaine à partir du Numéro de Semaine et de l'Année!
Merci d'avance
Il me manque qu'un petit truc
J'aimerais savoir comment on peut faire pour récupérer le Lundi d'une semaine à partir du Numéro de Semaine et de l'Année!
Merci d'avance
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 août 2008 à 16:37
5 août 2008 à 16:37
MyDate = "5/08/2008"
a = Weekday(MyDate, vbMonday) '=2 si c'est mardi
'La ligne de lundi = ta ligne - a + 1
a = Weekday(MyDate, vbMonday) '=2 si c'est mardi
'La ligne de lundi = ta ligne - a + 1
Une dernière petite question
Avec le numéro du jour le numéro de la semaine et l'année
Comment on met la date sous le format jj/mm/aaaa
Merci de ton aide en tout cas!
Avec le numéro du jour le numéro de la semaine et l'année
Comment on met la date sous le format jj/mm/aaaa
Merci de ton aide en tout cas!
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 août 2008 à 17:01
5 août 2008 à 17:01
Format(MyDate,"jjmmaa")
si Anglais
Format(MyDate,"ddmmyy")
si Anglais
Format(MyDate,"ddmmyy")
Hm ouais je vois.
Il me manque un tout petit truc pour faire ceci
Vu que le jour je l'ai en 1/2/3/4/5/6/7 que je le transforme en Lundi etc..
Mais avec le numéro de la semaine je dois être capable de retrouver le jour exact : par exemple si on est le 17 !
Il me manque un tout petit truc pour faire ceci
Vu que le jour je l'ai en 1/2/3/4/5/6/7 que je le transforme en Lundi etc..
Mais avec le numéro de la semaine je dois être capable de retrouver le jour exact : par exemple si on est le 17 !
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
5 août 2008 à 17:20
5 août 2008 à 17:20
a = Format(MyDate, "dddd mm/yyyy")
si tu veux que le jour
a = Format(MyDate, "dddd")
si tu veux que le jour
a = Format(MyDate, "dddd")