Formule et code VBA

Résolu
Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

J'ai un formulaire que j'ai créé mais j'ai du problème sur le code vba
Colonne A date, colonne B numéro de l'image Colonne E nom de l'opérateur, colonne F heure début du traitement et colonne G heure fin du traitement et colonne H total heure du traitement

Lors de la fin de la saisie donc, il y aura une plus d'un enregistrement selon le nombre de dossier que la personne a pris

- Pour la No Image, j'aimerai que ce soit un numéro suivi un énumération
par exemple si dans la formulaire
je saisie 1 à 10, il y a une insertion automatique de 10 lignes suivi du nom ainsi que l'insertion automatique de la date et heure aussi
ou même chose si on cite le numéro début plus le nombre par exemple le n° débute à 100 pour 15 images par exemple donc 101, 102 à 115.

- Pour l'heure fin
Lorsque je saisisse un nom par exemple toutes les lignes qui sont concernées seront remplies d'heure fin

- Pour la recherche
Lorsque je mets un numéro sur la case recherche, la personne qui l'avait fait s'affiche sur le résultat.

Merci pour votre aide

Ci-joint mon fichier

https://we.tl/t-cpy4nDTvUf

46 réponses

  • 1
  • 2
  • 3
Résumé de la discussion

Un formulaire VBA gère l'enregistrement de dossiers d'images: A date, B numéro de l'image, E nom de l'opérateur, F heure début, G heure fin et H total heure, et génère plusieurs enregistrements selon les dossiers. Des solutions clés couvrent l’incrémentation automatique des numéros d’image (par exemple 1 à 10 ou 101 à 115) et le remplissage des dates et heures, et déclenchent l’heure fin dès la saisie du nom. Des ajustements pratiques abordent également la recherche par numéro, le filtrage et l’interface utilisateur, avec des recommandations sur la compatibilité Windows 32 bits, la barre de défilement et la mise en forme des heures.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Je ne comprends pas pourquoi tu as 2 colonne image avec n° debut et fin
    Si tu as par exemple 3 images de 100 à 102 et que la macro crée 3 lignes il suffit d'une colonne image qui portera respectivement les n°s 100, 101 et 102, non ?

    A ce moment il suffit de calculer en début de macro le nombre de lignes N et de faire une boucle FOR NEXT de 0 à N et dans la boucle de faire inscrire en bonne place les infos en ligne L + N, L étant la 1ere ligne vide que tu as déterminée

    Cdlmnt
    Via
    0
  2. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Oui, vous avez raison mais est ce que vous pouvez faire le code s'il vous plait,j'ai essayé comme suit mais cela n'a pas marché :

      DEBUT = textbox2.value
        FIN = textbox3.value
        With ActiveCell.EntireRow
            For LigneNum = DEBUT To FIN
                .Offset(LigneNum - 1, 0).Insert Shift:=xlDown
                .Copy Destination:=.Offset(LigneNum - 1, 0)
                Cells(LigneNum, 1).Value = "(" & LigneNum & ") " & Cells(LigneNum, 1).Value
            Next LigneNum
        End Withange(Cells(ligne - 1, 3), Cells(ligne, 16)) 'on incrémente ces cellules vers le bas
     End Sub


    Or il faut que toutes les lignes soient copiées de suite et incrémenté selon le numéro saisisse dant le textbox 2 et textbox 3

    Merci pour votre aide
    0
  3. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Ok je m'en occupe ainsi que de l'heure de fin

    Par contre pour la recherche le n° image seul suffit ou la date importe aussi puisqu'elle est présente dans l'UF ?

    Tu me confirmes aussi qu'on supprime la 2eme colonne image dans le tableau

    0
  4. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Je vous remercie humblement pour votre aide
    concernant la recherche, par exemple n°150 traité par Eric le 22 juillet 2019
    donc lorsque je cherche 150 dans le numéro et je mets 22/07/2019 dans la date
    et le résultat affiche Eric

    Encore Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Donc on prend bien en compte les 2

    Par contre tu ne réponds pas à mon autre question : confirmes mois qu'on supprime bien la 2eme colonne image inutile
    0
  7. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    oui, vous pouvez supprimer la colonne inutile

    Encore merci
    0
  8. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    ton fichier en retour
    https://mon-partage.fr/f/UHOFUWZy/

    Cdlmnt
    0
  9. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    je vous remercie du fond du coeur
    mais est ce que vous pouvez mettre un coup d'oeil s'il vous plait

    l'heure fin (il y a juste un msg box mais les lignes ne se sont pas remplies) et la recherche ne fonctionne pas aussi

    et est ce qu'il est possible que l'enregistrement commence à partir de la ligne 2 afin que le tableau prend la mise en forme
    car après lorsque je tire sur la mise en forme
    la prochaine saisie s'affiche sur le bas où il les lignes précédentes son vide
    je vous joins le fichiers

    https://we.tl/t-Y3pvv46rTs

    Merci
    0
  10. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Désolé j'avais oublié de modifier certaines lignes après la suppression de la 2eme colonen image !
    https://mon-partage.fr/f/MyER3hux/
    0
  11. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci beaucoup Via

    une question, vous avez mis cette code
    ActiveCell.FormulaR1C1 = _
    "=IF([@[HEURE FIN]]="""","""",[@[HEURE FIN]]-[@[HEURE DEBUT]])"

    sur la commande bouton est cela n'a pas marché, je l'ai enlevé et tout marche
    je vous demande tout simplement si je devrai mettre ce code où ?

    Merci
    0
  12. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Je ne comprends pas chez moi cela fonctionne

    La formule est juste pour calculer le temps puisqu'il n'y en avait pas mais tu peux supprimer les lignes :
    Range("F" & L + n).Select
    ActiveCell.FormulaR1C1 = _
    "=IF([@[HEURE FIN]]="""","""",[@[HEURE FIN]]-[@[HEURE DEBUT]])"

    Tu mettras ensuite la formule de calcul manuellement
    0
    1. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
       
      MERCI
      J'ai vérifier et j'ai constaté que lorsqu'il n'ya pas de mise en forme comme le tableau
      il y avait des formules

      et lorsque le tableau atteint les 25 lignes il n'y a plus de mise en forme

      mais ça ira
      je vous remercie très profondément de m'avoir aidé

      Bonne continuation Via
      0
  13. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour Via

    Désolé de vous déranger

    J'ai exécuté le fichier que vous avez réaliser sur un système 32bits et ça n'a pas marché.
    J'ai aussi une autre demande à vous faire si c'est possible :
    j'ai fait un autre userform : Filtre

    j'aimerai faire une filtre automatique si c'est possible :
    Lorsque que tape une date par exemple et je mets un numéro
    il y une ligne contenant l'information sur la listebox
    ou lorsque je tape une date et le nom de l'agent sur la combobox3
    toutes les lignes concernant s'affichent
    Et après filtre ou recherche le nombre d'image traitée (nombres de lignes ) s'affiche sur le résultat "Nombre d'image traitées" puis le total heure du traitement en 10,5 par exemple.

    Pour le boutton "Effacer", cela remet le compteur à zéro puis efface toutes les donées du filtre

    un lien où j'ai trouvé un exemple sur youtube :

    https://www.youtube.com/watch?v=pUkV5lMFWL8
    https://www.youtube.com/watch?v=iDl-wHoUzh8

    Vous trouverez ci-joint mon fichier

    https://we.tl/t-iqWdQqRaEz

    Je vous remercie
    0
  14. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Impossible de télécharger ton fichier
    Repostes le sur https://mon-partage.fr/
    0
  15. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Voici le lien

    https://mon-partage.fr/f/OUk9cNdz/

    j'ai mis une mot de passe pour le fichier :
    suiviadv35

    Et pour les autres postes, j'ai installé office 2010 et cela s'ouvre normalement et marche
    mais vous pouvez encore le mettre en standard si c'est possible

    Je vous remercies humblement
    0
  16. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Encore merci Via
    0
  17. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re,

    L'exemple dont tu m'as donné le lien est pour filtrer sur la feuille, ici tu veux une extraction dans un userform c'est différent
    Alors en modifiant légèrement l'UF (et en donnant des noms aux textbox et autres contrôles c'est plus facile pour s'y retrouver dans les macros) :
    https://mon-partage.fr/f/IlmBE4Jc/
    Tu peux choisir entre deux dates ou à partir d'une date seulement (ne rien mettre dans la 2eme
    Idem pour les n° images
    tu peux aussi sectionnelle un nom bien sûr
    Si tu laisse tous les critères vide le filtre ressortira la liste complète de tes données

    J'ai également nommé de manière dynamique la liste des agents (voir gestionnaire de nom) ce qui permet de mettre ce nom dans la propriété Rowsource de la liste déroulante de l'UF et qui évite d'avoir à la remplir lors de l'initialisation

    Cdlmnt
    Via
    0
  18. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    C'est génial Via, c'est ce que j'ai voulu
    Vraiment merci

    J'avais une question dessus concernant le changement du total d'heure en décimal mais je vais chercher car je crois que vous avez déjà fait le maximum pour moi
    A bientôt
    Encore merci Via

    Cordialement
    0
  19. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Pas de souci ☺
    Que veux tu comme conversion ? car le total en décimal j'ai du le faire mettre apr la macro dans la cellule BB1 de la feuille et après en tirer les heures, minutes et secondes pour afficher dans l'UF car pas moyen d'y faire afficher un temps qui dépasse 24 h comme avec le format [h]:mm:ss dans une cellule car apparemment ils ne fonctionne pas en VBA ou je ne sais pas faire

    0
  20. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    Oui, par exemple le total de l'heure de traitement c'est 102:32:00
    et cela s'affiche en 102,53

    dans le Caption "total Heure"

    La raison pour ce cas c'est que lorsque je cherche par exemple une personne pour le nombre de lignes ainsi que l'heure qu'elle avait travaillée, cela peut dépasser le 24h si c'est pendant un mois par exemple, et pour la Colonne F, serait il possible de le mettre en format
    type
    37:30:55

    Merci
    0
    1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Quand je ne choisis aucun critère dans l'UF j'obtiens un total de 66 images pour 75:28:28 de durée

      Où vois-tu s'afficher du décimal ?
      0
  21. Christian_Mahefa Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
     
    OUI, mais j'ai juste parlé sur l'affichage "total Heure" sur la formulaire filtre

    serait il possible de l'afficher en : 75,47 c'est à dire
    75:28:25 * 24 donc : 75,47

    Merci
    0
  • 1
  • 2
  • 3