XL 2016 generateur d ID incrementiel avec date

kontractor08

XLDnaute Nouveau
Bonjour à tous (tes)

je viens vers vous et vos connaissances.
j ai besoin de créer un identifiant reprenant la date du jour et s incrémentant d un nombre à chaque fois que je scannerai un code barre.

ex:
date du jour 24/05/2020
premier numéro 0001

format attendu 202005240001
202005240002 etc...

Vous remerciant par avance
 

kontractor08

XLDnaute Nouveau
salut les demandes continuent d arriver

j aurai besoin de copier des données d une feuille a l autre (la fameuse feuille réimporté par les fameux boutons)

donc pour expliquer la problématique

j ai importé une nouvelle feuille générée par les machine du laboratoire dans notre classeur excel

cette feuille a pour nom "0"
je dois reimporter sous plusieurs conditions deux valeurs pour chaque ID PATIENT FAC (202006020001 ,,,,)

sample=ID PATIENT FAC
Target= IP2 ET IP4
cq= résultat à recopier en fonction de IP4,IP4 et ID PATIENT FAC

les conditions:

feuille '0' si valeur colonne F = valeur colonne E de la feuille "serie A" et si valeur colonne D = IP4

alors copier la valeur de la feuille '0' colonne H de cette ligne dans la celulle de la colonne J feuille "serie A" (IP4)

ET


feuille '0' si valeur colonne F = valeur colonne E de la feuille "serie A" et si valeur colonne D = IP2

alors copier la valeur de la feuille '0' colonne H de cette ligne dans la celulle de la colonne I feuille "serie A" (IP2)
 

cp4

XLDnaute Barbatruc
salut les demandes continuent d arriver

j aurai besoin de copier des données d une feuille a l autre (la fameuse feuille réimporté par les fameux boutons)

donc pour expliquer la problématique

j ai importé une nouvelle feuille générée par les machine du laboratoire dans notre classeur excel

cette feuille a pour nom "0"
je dois reimporter sous plusieurs conditions deux valeurs pour chaque ID PATIENT FAC (202006020001 ,,,,)

sample=ID PATIENT FAC
Target= IP2 ET IP4
cq= résultat à recopier en fonction de IP4,IP4 et ID PATIENT FAC

les conditions:

feuille '0' si valeur colonne F = valeur colonne E de la feuille "serie A" et si valeur colonne D = IP4

alors copier la valeur de la feuille '0' colonne H de cette ligne dans la celulle de la colonne J feuille "serie A" (IP4)

ET


feuille '0' si valeur colonne F = valeur colonne E de la feuille "serie A" et si valeur colonne D = IP2

alors copier la valeur de la feuille '0' colonne H de cette ligne dans la celulle de la colonne I feuille "serie A" (IP2)
Allons,allons soit un peu sérieux. Tu penses que je vais deviner ce que tu as importé.
J'espère que tu ne t'attends pas que je vais créer cette fameuse feuille "0".
 

kontractor08

XLDnaute Nouveau
bonjour
voici le fichier exemple don je parlai
donc je l ai remplis avec les ID PATIENT FAC de ce jour

il manque beaucoup de valeur mais c est normal car certains tests ne donnent pas de résultats
pour la colonne "cq" certaines cellules sont vident car le résultat de l'analyse est indéterminé,
il faudrait donc pouvoir écrire "test à refaire" de la cellule de la même ligne de la colonne conclusion feuille "SERIE A"

merci beaucoup encore et toujours
 

Pièces jointes

  • admin_2020-05-29 13-18-52_CT025603 - Quantification Cq Results.xlsx
    13.6 KB · Affichages: 7

cp4

XLDnaute Barbatruc
bonjour
voici le fichier exemple don je parlai
donc je l ai remplis avec les ID PATIENT FAC de ce jour

il manque beaucoup de valeur mais c est normal car certains tests ne donnent pas de résultats
pour la colonne "cq" certaines cellules sont vident car le résultat de l'analyse est indéterminé,
il faudrait donc pouvoir écrire "test à refaire" de la cellule de la même ligne de la colonne conclusion feuille "SERIE A"

merci beaucoup encore et toujours
Bonjour,
Je dois te dire que je n'ai pas compris grand chose. Tu avais joint un fichier et là c'est un autre fichier.
Difficile d'aider quand on ne comprend pas le problème.
 

cp4

XLDnaute Barbatruc
Bonsoir,

à mettre dans un module standard.
VB:
Option Explicit

Sub compléter_feuille_serieA()
   Dim Fa As Worksheet, F0 As Worksheet, c As Range, IdFac As Range
   Dim plageIdFac As Range, col As Byte, dl_Fa As Integer

   Set Fa = ThisWorkbook.Sheets("SERIE A")
   dl_Fa = Fa.Range("E" & Rows.Count).End(xlUp).Row
   Fa.Range("I11:O" & dl_Fa).ClearContents   'on efface la plage
   Set plageIdFac = Fa.Range("E11:E" & Fa.Range("E" & Rows.Count).End(xlUp).Row)
   Set F0 = ThisWorkbook.Sheets("0")

   For Each c In F0.Range("F2:F" & F0.Range("F" & Rows.Count).End(xlUp).Row)
      c.Value = c.Value
      col = IIf(c.Offset(, -2).Value = "IP4", 5, 4)
      Set IdFac = plageIdFac.Find(what:=c.Value, LookIn:=xlValues, LookAt:=xlWhole)
      If Not IdFac Is Nothing Then
         Debug.Print IdFac & " - " & IdFac.Row
         If c.Offset(, 2).Value = "" Or c.Offset(, 2).Value = 0 Then
            IdFac.Offset(, col) = "test à refaire"
         Else
            IdFac.Offset(, col) = c.Offset(, 2)
         End If
      Else
         MsgBox c & " non trouvé!"  'si code ne se trouve en feuille serieA
      End If
   Next c
End Sub

Bonne soirée.

edit: petite modif du msgbox
 
Dernière édition:

kontractor08

XLDnaute Nouveau
je viens de tester ton code c est parfait !!

en espérant que le labo ne demande pas d autre modif la dessus
par contre j ai un soucis
tu m avais donné des codes en version V8 pour ajouter la sélection de l agent de la comboagent dans la cellule d4 j ai besoin de la remettre en E4 mais ça ne marche pas dans mon dernier fichier
tu aurais une idée du problème ?
 

cp4

XLDnaute Barbatruc
je viens de tester ton code c est parfait !!

en espérant que le labo ne demande pas d autre modif la dessus
par contre j ai un soucis
tu m avais donné des codes en version V8 pour ajouter la sélection de l agent de la comboagent dans la cellule d4 j ai besoin de la remettre en E4 mais ça ne marche pas dans mon dernier fichier
tu aurais une idée du problème ?
ça ne pas fonctionner pour la simple raison que ce n'est pas exactement le même code que la version 8.

code procédure Valider:
VB:
If Sheets("serie a").Range("e4") <> "" Then Me.Comboagent = Sheets("serie a").Range("e4").Value 'v10
         If Sheets("serie a").Range("d4") = "" Then Sheets("serie a").Range("d4").Value = Me.Comboagent 'v8
         ''il suffit de remplacer d4 par e4 de la ligne v8 et supprimer la ligne v10

Dans initialize:
Code:
If Sheets("serie a").Range("E4") = "" Then Me.Comboagent = Sheets("serie a").Range("E4").Value   'v10
   If Sheets("serie a").Range("d4") <> "" Then Me.Comboagent = Sheets("serie a").Range("d4").Value   'v8
   'supprimer ligne v10'
 

kontractor08

XLDnaute Nouveau
salut tout le monde

donc j ai eu les retours très positifs du fichier

la doyenne de la Fac à validé le fichier et le directeur du labo aussi
par contre ils ont des valeur a jouter dans le tableau à l import des données feuille "0"

il aurons dans la même colonne (D) la valeur de GAPDH que l on retrouve dans la feuille SERIE A

il faudrait donc pouvoir ajouter à ton précédent code la valeur de la colonne cq de la feuillle "0"
dans la colonne GAPDH de la feuille SERIE A
je joint le fichier complet avec toutes les feuilles

mes connaissances sont trop limité pour le moment et donc je n arrive pas à comprendre ton code pour le moment @cp4


je vous remercie déjà par avance
 

Pièces jointes

  • gapdh et ip2 et ip4.xlsx
    15.1 KB · Affichages: 1

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260