OVH Cloud OVH Cloud

Macro en échec

2 réponses
Avatar
ManBas
Bonsoir à tous,
En colonne A j'ai la date (format jj/mm/aaaa hh:mm:ss).
En colonne B j'ai l'évènement qui correspond à la date: entrée, début, fin,
sortie, (et la séance se répète autant de fois que nécessaire).
Je voudrais regrouper en colonne C toutes les valeurs de durée comprise
entre la date de "entrée" et celle de "début", autant de fois que la
séquence s'est produite.
Voici mon code (il ne marche pas):
Sub Trieuse()
Dim avant
Dim apres
Dim Calcul
Dim cell As Range
For Each cell In Range("B:B")
If cell.Value = "Entree" Then
avant = ActiveCell.Offset(0, -1).Value
apres = ActiveCell.Offset(-1, -1).Value
Calcul = apres-avant
Range("C65536").End(xlUp).Offset(1, 0).value=calcul
End If
Next cell
End Sub

Merci +++ de m'aider à ouvrir les yeux

2 réponses

Avatar
Jacky
Bonjour,

Merci +++ de m'aider à ouvrir les yeux


J'ai pas tout compris, mais
remplace déjà ceci
'--------
For Each cell In Range("B1:b" & Range("b65536").End(3).Row)
'-----
avant = cell.Offset(0, -1).Value
apres = cell.Offset(1, -1).Value
'-----

Salutations
JJ

"ManBas" a écrit dans le message de
news:e3$
Bonsoir à tous,
En colonne A j'ai la date (format jj/mm/aaaa hh:mm:ss).
En colonne B j'ai l'évènement qui correspond à la date: entrée, début,
fin,

sortie, (et la séance se répète autant de fois que nécessaire).
Je voudrais regrouper en colonne C toutes les valeurs de durée comprise
entre la date de "entrée" et celle de "début", autant de fois que la
séquence s'est produite.
Voici mon code (il ne marche pas):
Sub Trieuse()
Dim avant
Dim apres
Dim Calcul
Dim cell As Range
For Each cell In Range("B:B")
If cell.Value = "Entree" Then
avant = ActiveCell.Offset(0, -1).Value
apres = ActiveCell.Offset(-1, -1).Value
Calcul = apres-avant
Range("C65536").End(xlUp).Offset(1, 0).valueÊlcul
End If
Next cell
End Sub

Merci +++ de m'aider à ouvrir les yeux





Avatar
ManBas
Merci Jacky.
La macro fonctionne avec ça.
A bientôt.

"Jacky" a écrit dans le message de news:
%
Bonjour,

Merci +++ de m'aider à ouvrir les yeux


J'ai pas tout compris, mais
remplace déjà ceci
'--------
For Each cell In Range("B1:b" & Range("b65536").End(3).Row)
'-----
avant = cell.Offset(0, -1).Value
apres = cell.Offset(1, -1).Value
'-----

Salutations
JJ

"ManBas" a écrit dans le message de
news:e3$
Bonsoir à tous,
En colonne A j'ai la date (format jj/mm/aaaa hh:mm:ss).
En colonne B j'ai l'évènement qui correspond à la date: entrée, début,
fin,

sortie, (et la séance se répète autant de fois que nécessaire).
Je voudrais regrouper en colonne C toutes les valeurs de durée comprise
entre la date de "entrée" et celle de "début", autant de fois que la
séquence s'est produite.
Voici mon code (il ne marche pas):
Sub Trieuse()
Dim avant
Dim apres
Dim Calcul
Dim cell As Range
For Each cell In Range("B:B")
If cell.Value = "Entree" Then
avant = ActiveCell.Offset(0, -1).Value
apres = ActiveCell.Offset(-1, -1).Value
Calcul = apres-avant
Range("C65536").End(xlUp).Offset(1, 0).valueÊlcul
End If
Next cell
End Sub

Merci +++ de m'aider à ouvrir les yeux