Dates excel (suite...)

Résolu
julia Namor Messages postés 532 Statut Membre -  
julia Namor Messages postés 532 Statut Membre -
Bonjour,
Je me suis permis d'ouvrir un nouveau fil que j'ai nommé : Dates excel (suite...) afin de vous faire part de mes nouvelles questions concernant toujours les dates,
J'ai un fichier avec plusieurs colonnes associées par deux (colonne D1 associée à la colonne A1 puis D2 et A2.....
Sur les colonnes D j'ai une date par cellule
Sur les colonnes A j'ai un Total de jours

Je voudrais faire sortir sur l'ensemble du fichier le nombre de LUNDI ; de MARDI ; MERCREDI etc... qui correspondent au total de jour entre 1et 7

Faire Pareil pour les MOIS aussi
JE ne sais pas si c'est possible à faire (macro surement) déjà que j'ai du mal à expliquer ce que je voudrais,
Je vous joins le fichier pour plus de clarté

https://www.cjoint.com/?DErpvXwGMqD

Merci beaucoup à toutes et à tous

18 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Si j'ai compris ce que tu veux faire, c'est possible par formule :

    https://www.cjoint.com/c/DErqc4xtcW6

    Je t'ai fait la formule pour les 2 premières colonnes de ton classeur sur la feuille 2.
    0
  2. julia Namor Messages postés 532 Statut Membre 33
     
    Merci de ta réponse gbinforme mais je ne comprends pas ta formule
    en faisant le comptage manuel sur les deux premiéres colonnes je trouve

    10 lundi qui corespondent entre 1 et 7 jours
    14 mardi qui corespondent entre 1 et 7 jours
    etc..
    0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    déjà que j'ai du mal à expliquer ce que je voudrais,

    Effectivement, je vois que je n'avais pas tout compris ! ;-)

    Je t'ai corrigé la formule pour la première colonne mais tu as raison, c'est plus simple avec une fonction personnalisée en macro pour faire toute la feuille.

    https://www.cjoint.com/?DErw6LW6AaQ

    Est-ce plus conforme ?
    0
  4. julia Namor Messages postés 532 Statut Membre 33
     
    Ouiiiii !!!! gbinforme c'est tout à fait ce qu'il me faut ;
    Je n'ai plus qu'a appliquer la formule sur les autres paires de colonnes et le tour est joué.

    Toutefois ce sera un travail fastidieux vu le nombre de colonnes . Une formule macro ne serait pas de refus pour calculer toute la feuille
    Merci beaucoup
    Je laisse encore un peu le post ouvert au cas ou un bienfaiteur me donnerait une piste de macro
    Merci à tous
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Une formule macro ne serait pas de refus pour calculer toute la feuille

    Sauf que tu n'as pas bien regardé et que tu as la formule macro en colonne C !

    une fonction personnalisée en macro pour faire toute la feuille : comme je t'avais mis !

    Il te suffit de copier le module dans ton fichier et de mettre la formule de la colonne C (mode d'emploi) en adaptant à ton nom de feuille et ta ligne de position.
    0
  7. julia Namor Messages postés 532 Statut Membre 33
     
    Je suis désolée, je n'avais pas regardé la macro personnalisée. Une petite merveille.
    Tout est bon .
    Tous mes remerciements gbinform

    ps; je suis entrain de créer un formulaire pour faciliter la saisie des données
    J'ai déja effectué "la maquette" avec userform ( combobox , texbox , label , bouton commande..) mais je bute vraiment sur l'attribution des VBA.
    Je vais ouvrir un fil (Formulaire VBA) pour demander de l'aide. Si tu veux bien jeter un oeil gbinform . j'y mets le fichier
    Cordialement
    0
  8. julia Namor Messages postés 532 Statut Membre 33
     
    Bonjour
    Ci dessous la macro que gbinform m'avait construit . Elle ne concerne que le cumul des jours (1_7). Comment je pourrais la transformer pour qu'elle s'applique aux mois .

    Option Explicit

    Public Function cumul_1_7(feu, jrs)
    Dim cel As Range
    Application.Volatile
    For Each cel In ActiveWorkbook.Sheets(feu).UsedRange.Cells
    If IsDate(cel.Value) Then
    If cel.Offset(0, 1) >= 1 And cel.Offset(0, 1) <= 7 Then
    If Application.WorksheetFunction.Weekday(cel.Value, 2) = jrs Then
    cumul_1_7 = cumul_1_7 + 1
    End If
    End If
    End If
    Next cel
    End Function

    Sinon j'ai essayé avec la formule

    =SOMMEPROD((MOIS(Feuil1!$A$2:$A$133)=1)*(Feuil1!$B$2:$B$133>=1)*(Feuil1!$B$2:$B$133<=7))

    mais elle se limite qu'aux colonnes A etB et ne permet pas les cumuls.

    je vous remercie pour votre aide

    Cordialement
    0
  9. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    .. et moi pas sur d'avoir compris
    mais sans macro, avec un tableau intermédiaire qui récapitule les colonnes, peut être ce modèle vous inspirera t il pour adapter à vos besoins?

    https://www.cjoint.com/c/DFdhHRFFeZe

    crdlmnt

    0
  10. julia Namor Messages postés 532 Statut Membre 33
     
    Merci vaucluse pour votre réponse

    je vais voir pour le cumul des mois

    cordialement
    0
  11. julia Namor Messages postés 532 Statut Membre 33
     
    Ca y est je suis sur la bonne piste avec votre procédé du tableau intermédiaire

    j'utilise la formule =SOMMEPROD((MOIS(Feuil1!$A$2:$A$133)=1)*(Feuil1!$B$2:$B$133>=1)*(Feuil1!$B$2:$B$133<=7))

    Juste un probléme : quand je tire vers le bas pour appliquer la formule aux autres cellules ,la variable mois ( 1,2,3,4,...) ne change pas !!!!

    Est ce normal?
    Cordialement
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Normal, la seule chose qui change sont les adresses de cellules non bloquées. Il faut passer manuellement de 1 à 12 ou,si vous voulez une incrémentation automatique, remplacer le 1 par selon la ligne où la formule est placée
      LIGNE()-X X étant égal au N° de la ligne -1 (par exemple LIGNE()-134 sur ligne 135 donne 1 et devient 2 sur ligne 136 ect
      ou alors simplement par:
      LIGNE($A1) qui est égal à 1 et deviendra A2 sur cellule suivante ect..

      crdlmnt
      0
  12. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour julia Namor, Vaucluse,

    @ julia : voici la fonction personnalisée pour les mois dans ton classeur :

    https://www.cjoint.com/?DFdjSpedj75

    @Vaucluse : un bonjour au passage
    C'est sûr que l'on peut le faire en formule comme je l'avais fait au départ mais la fonction personnalisée est tellement plus simple et rapide, n'est-ce pas ?
    0
  13. julia Namor Messages postés 532 Statut Membre 33
     
    Merci les gars ça commence à s'éclaircir

    J'ai quelques erreurs sur mon fichier avec la macro
    Pourriez vous m'aider à les reperer et corriger

    https://www.cjoint.com/?3FdlkUsr2MQ

    Bien Cordialement
    0
  14. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour julia Namor,

    Voilà ton classeur avec les 2 fonctions adaptées à tes comptages dont tu as modifié la fonction :

    https://www.cjoint.com/?DFdwjhPacUY

    Je pense que c'est plus simple de paramétrer la fonction que de la dupliquer et j'ai pris en compte le libellé du jour ou du mois pour permettre un positionnement plus facile. Si tu veux je peux aussi tenir compte du titre de ton tableau.
    0
  15. julia Namor Messages postés 532 Statut Membre 33
     
    Bonsoir gbinforme

    Merci pour le tableau.

    J'ai un petit souci
    c"est que j'ai plusieurs années a traiter . Les dates sont configurées comme dans la feuil 1. Alors j'ai fait un copié collé des dates dans la feuille 1 mais les calculs ne changent pas .
    Tu en penses quoi,,?
    Merci
    0
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour julia Namor,

      les calculs ne changent pas
      Tu ne serais pas en calcul manuel ? options excel / formules
      0
  16. julia Namor Messages postés 532 Statut Membre 33
     
    bonsoir gbinforme

    Je suis en calcul automatique .

    J'ai fait quelques tests en essayant par exemple de rajouter une date en janvier dans la feuille 1, mais le changement ne s'opére pas dans les autres feuilles .

    merci beaucoup
    0
  17. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour julia Namor,

    Voilà, je t'ai modifié les fonctions pour prendre en compte automatiquement tes titres de colonnes. Ainsi '1jrs' totalise les arrêts d'un jours, '<1jrs' totalise les arrêts inférieurs à un jour (pas de nombre saisi), '>7jrs' totalise les arrêts supérieurs à sept jours.

    https://www.cjoint.com/c/DFfj1ImF7Nl

    J'ai rajouté 2 fonctions de vérification sur les jours et les mois qui ne sont utiles que pour mon contrôle et que tu peux supprimer et un calcul du nombre de dates qui permet de déclencher le recalcul des autres fonctions : c'est ce qui manquait.
    0
  18. julia Namor Messages postés 532 Statut Membre 33
     
    Bonjour Gbinforme

    Merci énormément , tout fonctionne à merveille maintenant.
    J'ai pu traiter toutes mes dates;

    Je trouve que c'est très bien d'avoir ajouté les vérifications;

    merci encore
    0