Extraction de données avec plusieurs variables

Lukidoe

XLDnaute Nouveau
Mesdames Messieurs bonjour,

Alors, par avance excusez moi du peu de travail fait par moi même..., j'ai tenté de faire des recherches sur le forum, mais je me suis heurté à "quels termes utiliser" (ma connaissance en excel se bornant aux bases).

Je vous explique mon soucis :
Nous avons à mon travail un lecteur de badge enregistrant les entrées et sorties de chaque personnes badgeant. Grâce a un petit utilitaire (somme toute limité) nous pouvons extraire un document excel listant ces entrés et sorties (voir exemple en pièce jointe). Malheureusement, le document ne permet pas de voir en un coup d’œil qui est physiquement présent dans le bâtiment, ce qui peut être problématique en cas d’évacuation.

Ce que je souhaiterai (dans un monde merveilleux... je sait...) :
C'est avoir une macro qui extrait nom par nom la dernière entrée du jour et qu'il ne sorte que les personnes présentes dans le bâtiment (donc celles qui n'ont pas de ligne avec le "<" symbolisant la sortie).

Il faudrait aussi que les lignes comportant "Porte ouverte (gâche)" soient supprimée (cela correspond aux personnes utilisant.

Si quelqu'un pouvais m'aiguiller vers un début de quelque chose, ça serait bien urbain de sa part.

En tout cas merci par avance à ceux qui pendrons au moins la peine de me lire et +

Ahh oui et n’hésitez pas à demander des précisions si je n'ai pas été clair sur certains points, de mon coté je continu à arpenter ce magnifique forum.
 

Pièces jointes

  • Export salto.xlsx
    21.4 KB · Affichages: 48

vgendron

XLDnaute Barbatruc
Re : Extraction de données avec plusieurs variables

Hello

avec ce code dans un module standard vba (Alt +F11 pour ouvrir l'éditeur)
à gauche: clic droit, ajouter module
et tu colles le code ci dessous

1) ca va bien marcher pour supprimer les lignes inutiles
Sub Macro1()
'
' Macro1 Macro
'créer une zone nommée dynamiquement TabData
ActiveWorkbook.Names.Add Name:="TabData", RefersToR1C1:= _
"=OFFSET(AuditTrail!R2C1,,,COUNTA(AuditTrail!C1)-1,5)"
'ActiveWorkbook.Names("TabData").Comment = ""

'suppression des lignes contenant Porte ouverte (gâche)
For i = Range("TabData").Rows.Count To 2 Step -1
If Cells(i, "C") = "Porte ouverte (gâche)" Then
Rows(i).Delete
End If
Next i

nb = Range("TabData").Rows.Count

For i = 2 To nb Step 2
User = Cells(i, "D")
JourEntrée = Day(WorksheetFunction.Substitute(Cells(i, "A"), ".", "/"))
'JourEntrée = Day(Cells(i, "A"))
JourSortie = Day(WorksheetFunction.Substitute(Cells(i + 1, "A"), ".", "/"))
If Not (Cells(i + 1, "D") = User And JourSortie = JourEntrée And Cells(i + 1, "C") = "< Porte ouverte (clé)") Then
Cells(i, "F") = "PAS SORTI"
i = i - 1
End If
Next i

End Sub
[/code]
 

Lukidoe

XLDnaute Nouveau
Re : Extraction de données avec plusieurs variables

Bonjour Messieurs et tout d'abord merci de vos réponses :)

@VGendron : Cela semble prometteur (d'après ce que j'arrive à en comprendre), mais lorsque je lance la macro, j'ai une runtime error qui pointe vers cette partie du code sans m'en dire d'avantage :

ActiveWorkbook.Names.Add Name:="TabData", RefersToR1C1:= _
"=OFFSET(AuditTrail!R2C1,,,COUNTA(AuditTrail!C 1)-1,5)"

@gilbert_RGI : Le fichier se rapproche de l'effet souhaité, serait il juste possible de ne garder que la dernière entrée du jour en filtrant à partir de la date et l'heure pour n'avoir d'extrait que la dernière entrée en date ?

En tout cas une nouvelle fois merci pour le temps passé par les nombreux contributeurs de ce site d'aider les personnes qui ne maitrisent seulement que les =sommes et autres choses simples ^^

Cordialement,

Sylvain
 

vgendron

XLDnaute Barbatruc
Re : Extraction de données avec plusieurs variables

j'ai eu aussi cette erreur

Code:
ActiveWorkbook.Names.Add Name:="TabData", RefersToR1C1:= _
"=OFFSET(AuditTrail!R2C1,,,COUNTA(AuditTrail!C 1)-1,5)"

quand tu fais copier coller.. il apparait un espace entre C et 1 (countA(AuditTrail!C 1...

il faut supprimer cet espace

Code:
ActiveWorkbook.Names.Add Name:="TabData", RefersToR1C1:="=OFFSET(AuditTrail!R2C1,,,COUNTA(AuditTrail!C1)-1,5)"
 

Discussions similaires

Réponses
15
Affichages
747
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 174
Messages
2 085 945
Membres
103 055
dernier inscrit
DrKiwi