Les macros Excel

yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006 - 21 juin 2006 à 10:02
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 - 22 juin 2006 à 16:36
Bonjours,

Ne connaissant pas les macros Excel, J'aimerais toute fois automatiser un tableau sous Excel.
En effet, j'ai établi un tableau dans une feuille Excel avec les colonnes suivante : Date, Heures, Cumul...etc Avec en dessous de chaque semaine un Total d'heure. La colonne "Date" reprend tout les jours de la semaine par mois.

Comme je fais un tableau par mois, mon problème est qu'il y a des mois qui commencent en milieu de semaine. Pour faire ensuite mon total par semaine ce n'est pas très pratique. C'est pourquoi j'aimerais automatiser avec des macros ceci. C'est à dire que dans mon total de la semaine, si elle est coupé en début de mois en plein milieu, que la macro me prend en compte les jours qui sont à la fin du mois d'avant, pour que le calcul de mon total ne soit pas faussé.

EX.            DATE      HEURES                 
                 L 19/06    ...    12
                 M 20/06   ...     5
                 M 21/06    ...   10
                 J 22/06   ...       2
                 V 23/06   ...      8
                 S 24/06   ...     15
TOTAL:                          52 h

J'espère que j'ai à peut prêt bien expliqué ma situation et que vous pourrez m'aider
Merci d'avance à ceux qui me répondrons (réponse urgente)

PS: Serait-il possible également que vous me donniez la macro pour faire le lien entre deux cellule Excel ? Merci beaucoup ! A bientôt

18 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
21 juin 2006 à 13:59
    Bonjours, tu fait donc une feuille par mois mais dans le même classeur. Tu n'est pas forcément obliger de passée par une macro (même si cela serais plus propre c'est vrais, et, si tu y tiens ecrit le moi et je te fille un coup de main), tu peut faire une formule dans une cellule qui recup les données d'une autre feuille de ton claseur. Le code :"SI(A2<>"Lundi";Feuil2!A1;0)" à la place de A1 tu met une autre cellule dans la quel tu fait un sous total. c'est vrais que c'est plus chien pour la mise à jours mais c'est beaucoup plus simple quand code.

D'oh! Nuts!
Mmmmm...
 DONUTS
0
cs_FPatrick Messages postés 122 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 8 août 2014 1
21 juin 2006 à 14:02
Il est préférable dans ce cas d'utiliser les fonctions intégrées à excel.

Si tu ajoutes dans les macros complémentaires 'utilitaire d'analyse', tu auras les fonctions utiles à tes besoins.

Pour une date, tu sors :
* l'année avec la fonctionn 'annee'
* la semaine avec la fonction no.semaine

Avec un tableau croisé dynamique tu peux faire une recherche sur ces deux informations et en ressortir le résultat souhaité.

Pour faire la même chose en VBA, il y a plus de choses à faire. Regarde au niveau de la création de macro, en faisant plusieurs manipulations tu auras la syntaxe à utiliser en VBA.

En espérant avoir répondu à tes demandes, bonne journée.
0
yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 08:29
C'est dans le cadre de mon stage que l'on me demande ça Polack77, donc si tu peux m'aider oui je voudrais la macro qui rendra mon travail propre  Merci de répondre au plus vite je suis en ce moment même sur mon travail. Merci !
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 09:17
Bon, en général je ne fais pas de code "clef en main" mais pour une fois (j'aime bien ton avatar, lol, nan c'est juste parceque je suis de bonne humeur) mais dit moi exactement ce que tu veut. J'ai pensé à des bouton sur une barre d'outils (crée en code). Liste de bouton :
-> Crée mois suivant
-> Importe les donée mois présedant

Di moi si cas te conviens (vue que je m'y met tout de suite évite de me dire que cas ne te vas pas dans une heure si non je vais mal le prendre)

D'oh! Nuts!
Mmmmm...
 DONUTS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 10:23
En fait je suis en ce moment même à mon stage et la personne qui m'a demandé de faire se travail veux une macro qui reprend les jours de la semaines du mois d'avant qui n'ont pas été pris en compte dans le nouveau mois pour faire son total de la semaine. Tu vois ? Je suis un peu limité ...

(Dsl de mettre du tps pour répondre mais comme je suis en stage ...  Merci de rép.)
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 10:37
Oui mais tu execute ta macro à partir de cois? Un bouton, en fessant "Outils" "Macro" "Executer", autrement?
J'etait entrain de faire un bout de code pour toi. Peut tu m'en dire plus? Je peut te donnée des bout de code mais si tu est trop limiter je ne peut pas te faire de code compelt (ce que je te fesai, et en plus je ne le fais pas normalement, mais bon, mon chef est pas la ...)
Donc en résumé tu veut cois?

J'avais en idée une fonction qui :

Crée un nouveau mois en :
    Crée une nouvelle feuille
    Copie la feuille presedante colle sur la nouvelle
    Modifi le "tytre" de cette nouvelle feuille + mois
    invert les date (lundi 01/03/06, mardi ...)
    Met dans la formule du 1ér jours "+ le nombre d'heure du debut de la semmaine du moi présedant)

Je ne sais pas si tu comprand ce que je veut dire?

Si cas marche tu veut? car je n'ai pas fini et si non je laisse tonber.

D'oh! Nuts!
Mmmmm...
 DONUTS
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 10:46
Pour ajouter un(e) second/minute/heure/jours/mois/année à une date moi j'utilise dateadd (regarde l'aide pour + de présision)
Pour avoir la date sur un format specifique tu fais format (regarde l'aide pour + de présision) [Exemple : "Format("01/01/2006","mmmm yyyy")" sera egale à "janvier 2006"]
Pour le jours de la semmaine Weekday (regarde l'aide pour + de présision)

A tu besoin d'autre chose?

Remarque : Tu peut faire un enregistrement de macro et modifier tes tableau pour trouver une sintaxe (moi je le fais souvant)

D'oh! Nuts!
Mmmmm...
 DONUTS
0
yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 10:59
Oui je fais une macro à partir de "View" "Macro" "Macro..." car en fait j'ai oublié de présiser un petit truc qui va surement te compliquer les choses.... (dsl ) C'est que je suis dans une entreprise en relation "américaine" et tous leur logiciels sont en anglais, moi même je suis fréné dans mon travail à cause de ça, vu que mon anglais n'est pas térible du tout lol enfin bref...

C'est pas au jours je dois faire appel, mes aux valeurs corespondant à ces jours. tu vois ? Par exemple si mon mois commence un jeudi pour faire mon total de la semaine dans ma feuille je n'est que les valeur de jeudi à dimanche, il me manquera les valeurs corespondant au lundi, mardi et mercredi. (Rappel : Je fais un mois par feuille)

Donc moi j'ai besoin d'une macro qui reprend dans ma cellule "Total de la semaine" les valeurs du mois précédant corespondant au lundi, mardi et mercredi, en plus du jeudi au dimanche.
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 11:05
Je ne pensais pas faire une macro qui te callcul le total de la semmaine mais une macro qui ajoute le nombre d'heure de la semmaine en cours au total. Je m'explique. Dans ta feuille de calcul tu à des formule du genre "=somme(B3:B9)" je pensais simplement ajouter dans cette formule (par macro) "+ 15" si il y à 15H au total de durée pour la semmaine sur le mois présedant. Ce qui permet de re-calculer en "temps réel" si une modification intervien. Je ne sais pas si je suis tres claire.

D'oh! Nuts!
Mmmmm...
 DONUTS
0
yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 11:13
En  fait tu veu veux ajouter un sous total a mon total de la semaine.


Par exemple si le mois davant j'ais des valeurs que j'additionne du lundi au mercredi ça me ferais un sous total et ce sous total là je le rajouterais au valeurs du jeudi au dimanche pour que ça me fasse mon total de la semaine.C'est ça ?
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 11:46
Désol pour le temps de réponce. Oui c'est cas.

D'oh! Nuts!
Mmmmm...
 DONUTS
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 11:54
Pour cas avec dateadd il me semble qu'il est possible denlever un jours à une date ce qui permet de recup le jours de la semmaine du dernier jours du mois présedant (avec weekday) de la faire une adition des jours manqants (puisque l'on sais ou on est) et de la faire un ajout dans la formule du total (donc la forule total semmaine sera en final du genre "somme(A3:A5) + 15") sachant que avec la même macro on peut même recré compétement la formule pour avoir un truc du genre "somme(A3:A5) + Feuille1!A26 + Feuille1!A27" et dans ce cas tout serait automatique. Et c'est un truc du genre que je voulais faire (avec mon bouton crée nouveau mois) pour en faite ne faire aucain calcul dans la macro mais faire de la génération de formule complexe. Tu vois ce que je veut dire?

D'oh! Nuts!
Mmmmm...
 DONUTS
0
yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 11:55
Oh ce n'est pas grave

Et bien écoute je veux bien tanter cette solution, de toute façon du moment que ça fonctionne ça me conviens. On va continuer sur cette voie...
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 11:56
Juste une remarque dans la formule "somme(A3:A5) + Feuille1!A26 + Feuille1!A27" le "mot" feuille1 est le nom de la feuille.

D'oh! Nuts!
Mmmmm...
 DONUTS
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 12:02
Je vais aller manger. Si tu menvoie un mail avec ton fichier (je t'ai envoiller mon adrs mail en message privé) je te fais cas dans l'apré midi.

Remarque : Ce n'est pas gratuit je renbourse une déte à la communoté VBFrance.

D'oh! Nuts!
Mmmmm...
 DONUTS
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 13:41
Donc à priori tu ne peut pas me faire parvenir le fichier. Oui je t'aide quand même.
Du coup je te fille l'algo que je pensait utilisé:

Dans une procédure public (le public est important si non tu ne poura pas l'executer avec l'onglet outils)
    -> Crée une nouvelle feuille "Worksheets.Add after:=Worksheets(Worksheets.Count) 'Ajoute une nouvelle feille à la fin du classeur"
    -> Copier le feuille présedante et coller dans la nouvelle "Worksheets(Worksheets.Count - 1).Range("A1:IV65536").Copy 'Copy la feuille présedante" "Worksheets(Worksheets.Count).Paste"
    Supprimer toute les données (les date et les heure) "Worksheets(Worksheets.Count).range("Plage de valeur").delete"
    Crée le "calendrier" (j'avais en idée une boucle)
    Verif si le 1ér jours du mois est bien un lundi "weekday(Date,vbMonday) = 1"
       si oui : ne fais rien
       si non : Crée une formule avec des referance à des cellule du mois présedant (je pensais aussi une boucle qui insert les réferance à l'autre feuille dans une chaine de carac)
    Crée les formule manquante (pour les totaux des autre semmaine) Cas tu dois savoir faire

Donc ba je peut pas vraiment en dire plus. Si tu à un problème pose la question (ici comme cas je recois un mail qui me previen).

D'oh! Nuts!
Mmmmm...
 DONUTS
0
yelwine Messages postés 13 Date d'inscription samedi 14 janvier 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 14:20
Oki merci pour l'info je vais éssayer ceci, je te dirais koi en tps voulu

Merci beaucoup Polack.
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
22 juin 2006 à 16:36
Alors tu t'en sort?

D'oh! Nuts!
Mmmmm...
 DONUTS
0
Rejoignez-nous