Formule et code VBA
Résolu
Christian_Mahefa
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 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
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
A voir également:
- Formule et code VBA
- Code ascii - Guide
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Code puk bloqué - Guide
- Formule mathématique - Télécharger - Études & Formations
46 réponses
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
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
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é :
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
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
Par contre tu ne réponds pas à mon autre question : confirmes mois qu'on supprime bien la 2eme colonne image inutile
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
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
Désolé j'avais oublié de modifier certaines lignes après la suppression de la 2eme colonen image !
https://mon-partage.fr/f/MyER3hux/
https://mon-partage.fr/f/MyER3hux/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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