J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Bonjour Pier,
Voila un:J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Sub InsertSpace()
i = 1
Do While i < 1000
If (Cells(i, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 1
End If
i = i + 1
Loop
End Sub
Et le deuxieme dans qq minutes.
--
Regards
Christophe Mathon
while(!(succeed=try()));
"pier" wrote in message
news:
Bonjour,
Je récupère tous les mois un fichier XLS sous la forme :
Nom Date Badge In Badge Out
Il y a plusieurs lignes par jour en fonction de l'activité de chaque
agent.
J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Puis dans la première ligne insérée (cellule G28, G50,G63), calculer
automatiquement le temps de présence total par jour (= Badge Out -
Badge In)
Une image de ce que j'ai actuellement :
http://www.sendspace.com/file/0xu4sm
une image de ce que je voudrais obtenir :
http://www.sendspace.com/file/v67ig6
Mon classeur : http://www.sendspace.com/file/ihhra9
D'avance, merci !
Pierre
Bonjour Pier,
Voila un:
J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Sub InsertSpace()
i = 1
Do While i < 1000
If (Cells(i, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 1
End If
i = i + 1
Loop
End Sub
Et le deuxieme dans qq minutes.
--
Regards
Christophe Mathon
while(!(succeed=try()));
"pier" <pierklaud@gmail.com> wrote in message
news:b27bd24a-7b9a-40f0-b0a0-da1971625f0e@m44g2000hsc.googlegroups.com...
Bonjour,
Je récupère tous les mois un fichier XLS sous la forme :
Nom Date Badge In Badge Out
Il y a plusieurs lignes par jour en fonction de l'activité de chaque
agent.
J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Puis dans la première ligne insérée (cellule G28, G50,G63), calculer
automatiquement le temps de présence total par jour (= Badge Out -
Badge In)
Une image de ce que j'ai actuellement :
http://www.sendspace.com/file/0xu4sm
une image de ce que je voudrais obtenir :
http://www.sendspace.com/file/v67ig6
Mon classeur : http://www.sendspace.com/file/ihhra9
D'avance, merci !
Pierre
Bonjour Pier,
Voila un:J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Sub InsertSpace()
i = 1
Do While i < 1000
If (Cells(i, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 1
End If
i = i + 1
Loop
End Sub
Et le deuxieme dans qq minutes.
--
Regards
Christophe Mathon
while(!(succeed=try()));
"pier" wrote in message
news:
Bonjour,
Je récupère tous les mois un fichier XLS sous la forme :
Nom Date Badge In Badge Out
Il y a plusieurs lignes par jour en fonction de l'activité de chaque
agent.
J'aimerai que 2 lignes vides soient insérées automatiquement après
chaque jour en sachant que le nombre de lignes par jour peut être
différent d'un mois sur l'autre.
Puis dans la première ligne insérée (cellule G28, G50,G63), calculer
automatiquement le temps de présence total par jour (= Badge Out -
Badge In)
Une image de ce que j'ai actuellement :
http://www.sendspace.com/file/0xu4sm
une image de ce que je voudrais obtenir :
http://www.sendspace.com/file/v67ig6
Mon classeur : http://www.sendspace.com/file/ihhra9
D'avance, merci !
Pierre
Bonjour,
Clic droir sur l'onglet de la feuille "Brut" et coller ceci :
Sub SousTotaux()
Application.Goto Reference:="R8C2"
Selection.RemoveSubtotal
Selection.Subtotal GroupBy:=3, Function:=xlMax, TotalList:= Array(5), _
Replace:úlse, PageBreaks:úlse, SummaryBelowData: =True
Selection.Subtotal GroupBy:=3, Function:=xlMin, TotalList:= Array(4), _
Replace:úlse, PageBreaks:úlse, SummaryBelowData: =True
der = Range("b65000").End(xlUp).Row
n = 1 + Application.CountBlank(Range("b8:b" & der)) / 2
For cpt = 1 To n
ActiveCell.End(xlDown).Offset(1, 5).Select
ActiveCell = ActiveCell.Offset(-1, -1) - ActiveCell.Offset(, -2 )
ActiveCell.Offset(1).EntireRow.ClearContents
Range(ActiveCell.Offset(, -3), ActiveCell.Offset(, -2)).ClearCont ents
ActiveCell.Offset(2, -5).Select
Next cpt
ActiveCell.Range("a1:a2").EntireRow.Delete
End Sub
Camille
Bonjour,
Clic droir sur l'onglet de la feuille "Brut" et coller ceci :
Sub SousTotaux()
Application.Goto Reference:="R8C2"
Selection.RemoveSubtotal
Selection.Subtotal GroupBy:=3, Function:=xlMax, TotalList:= Array(5), _
Replace:=False, PageBreaks:=False, SummaryBelowData: =True
Selection.Subtotal GroupBy:=3, Function:=xlMin, TotalList:= Array(4), _
Replace:=False, PageBreaks:=False, SummaryBelowData: =True
der = Range("b65000").End(xlUp).Row
n = 1 + Application.CountBlank(Range("b8:b" & der)) / 2
For cpt = 1 To n
ActiveCell.End(xlDown).Offset(1, 5).Select
ActiveCell = ActiveCell.Offset(-1, -1) - ActiveCell.Offset(, -2 )
ActiveCell.Offset(1).EntireRow.ClearContents
Range(ActiveCell.Offset(, -3), ActiveCell.Offset(, -2)).ClearCont ents
ActiveCell.Offset(2, -5).Select
Next cpt
ActiveCell.Range("a1:a2").EntireRow.Delete
End Sub
Camille
Bonjour,
Clic droir sur l'onglet de la feuille "Brut" et coller ceci :
Sub SousTotaux()
Application.Goto Reference:="R8C2"
Selection.RemoveSubtotal
Selection.Subtotal GroupBy:=3, Function:=xlMax, TotalList:= Array(5), _
Replace:úlse, PageBreaks:úlse, SummaryBelowData: =True
Selection.Subtotal GroupBy:=3, Function:=xlMin, TotalList:= Array(4), _
Replace:úlse, PageBreaks:úlse, SummaryBelowData: =True
der = Range("b65000").End(xlUp).Row
n = 1 + Application.CountBlank(Range("b8:b" & der)) / 2
For cpt = 1 To n
ActiveCell.End(xlDown).Offset(1, 5).Select
ActiveCell = ActiveCell.Offset(-1, -1) - ActiveCell.Offset(, -2 )
ActiveCell.Offset(1).EntireRow.ClearContents
Range(ActiveCell.Offset(, -3), ActiveCell.Offset(, -2)).ClearCont ents
ActiveCell.Offset(2, -5).Select
Next cpt
ActiveCell.Range("a1:a2").EntireRow.Delete
End Sub
Camille
Re,
Tous dans une macro:) :
Sub InsertSpace()
i = 9
BadgeIn = "8"
BadgeOut = ""
Do While i < 1000
If (Cells(i - 1, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
BadgeOut = i - 1
Range("G" & i).Select
ActiveCell.Formula = "=F" & BadgeOut & "-" & "E" & BadgeIn
i = i + 2
BadgeIn = BadgeOut + 3
End If
i = i + 1
Loop
End Sub
--
Regards
Christophe Mathon
while(!(succeed=try()));
Re,
Tous dans une macro:) :
Sub InsertSpace()
i = 9
BadgeIn = "8"
BadgeOut = ""
Do While i < 1000
If (Cells(i - 1, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
BadgeOut = i - 1
Range("G" & i).Select
ActiveCell.Formula = "=F" & BadgeOut & "-" & "E" & BadgeIn
i = i + 2
BadgeIn = BadgeOut + 3
End If
i = i + 1
Loop
End Sub
--
Regards
Christophe Mathon
while(!(succeed=try()));
Re,
Tous dans une macro:) :
Sub InsertSpace()
i = 9
BadgeIn = "8"
BadgeOut = ""
Do While i < 1000
If (Cells(i - 1, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
BadgeOut = i - 1
Range("G" & i).Select
ActiveCell.Formula = "=F" & BadgeOut & "-" & "E" & BadgeIn
i = i + 2
BadgeIn = BadgeOut + 3
End If
i = i + 1
Loop
End Sub
--
Regards
Christophe Mathon
while(!(succeed=try()));
Bonjour Pier,
Voila un:
> J'aimerai que 2 lignes vides soient insérées automatiquement aprè s
> chaque jour en sachant que le nombre de lignes par jour peut être
> différent d'un mois sur l'autre.
Sub InsertSpace()
i = 1
Do While i < 1000
If (Cells(i, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 1
End If
i = i + 1
Loop
End Sub
Et le deuxieme dans qq minutes.
--
Regards
Christophe Mathon
while(!(succeed=try()));
Bonjour Pier,
Voila un:
> J'aimerai que 2 lignes vides soient insérées automatiquement aprè s
> chaque jour en sachant que le nombre de lignes par jour peut être
> différent d'un mois sur l'autre.
Sub InsertSpace()
i = 1
Do While i < 1000
If (Cells(i, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 1
End If
i = i + 1
Loop
End Sub
Et le deuxieme dans qq minutes.
--
Regards
Christophe Mathon
while(!(succeed=try()));
Bonjour Pier,
Voila un:
> J'aimerai que 2 lignes vides soient insérées automatiquement aprè s
> chaque jour en sachant que le nombre de lignes par jour peut être
> différent d'un mois sur l'autre.
Sub InsertSpace()
i = 1
Do While i < 1000
If (Cells(i, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
i = i + 1
End If
i = i + 1
Loop
End Sub
Et le deuxieme dans qq minutes.
--
Regards
Christophe Mathon
while(!(succeed=try()));
CopyOrigin:=xlFormatFromLeftOrAbove
Re,
Tous dans une macro:) :
Sub InsertSpace()
i = 9
BadgeIn = "8"
BadgeOut = ""
Do While i < 1000
If (Cells(i - 1, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
BadgeOut = i - 1
Range("G" & i).Select
ActiveCell.Formula = "=F" & BadgeOut & "-" & "E" & BadgeIn
i = i + 2
BadgeIn = BadgeOut + 3
End If
i = i + 1
Loop
End Sub
--
Regards
Christophe Mathon
while(!(succeed=try()));
CopyOrigin:=xlFormatFromLeftOrAbove
Re,
Tous dans une macro:) :
Sub InsertSpace()
i = 9
BadgeIn = "8"
BadgeOut = ""
Do While i < 1000
If (Cells(i - 1, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
BadgeOut = i - 1
Range("G" & i).Select
ActiveCell.Formula = "=F" & BadgeOut & "-" & "E" & BadgeIn
i = i + 2
BadgeIn = BadgeOut + 3
End If
i = i + 1
Loop
End Sub
--
Regards
Christophe Mathon
while(!(succeed=try()));
CopyOrigin:=xlFormatFromLeftOrAbove
Re,
Tous dans une macro:) :
Sub InsertSpace()
i = 9
BadgeIn = "8"
BadgeOut = ""
Do While i < 1000
If (Cells(i - 1, 4).Value = "") Then
i = i + 1
ElseIf (Cells(i, 4).Value <> Cells(i - 1, 4)) Then
Rows(i & ":" & i).Select
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlDown,
CopyOrigin:=xlFormatFromLeftOrAbove
BadgeOut = i - 1
Range("G" & i).Select
ActiveCell.Formula = "=F" & BadgeOut & "-" & "E" & BadgeIn
i = i + 2
BadgeIn = BadgeOut + 3
End If
i = i + 1
Loop
End Sub
--
Regards
Christophe Mathon
while(!(succeed=try()));
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a e te
coupé end deux.
Selection.Insert Shift:=xlDown,
> CopyOrigin:=xlFormatFromLeftOrAbove
represente une seul ligne.
--
Regards
Christophe Mathon
while(!(succeed=try()));
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a e te
coupé end deux.
Selection.Insert Shift:=xlDown,
> CopyOrigin:=xlFormatFromLeftOrAbove
represente une seul ligne.
--
Regards
Christophe Mathon
while(!(succeed=try()));
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a e te
coupé end deux.
Selection.Insert Shift:=xlDown,
> CopyOrigin:=xlFormatFromLeftOrAbove
represente une seul ligne.
--
Regards
Christophe Mathon
while(!(succeed=try()));
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a
ete
coupé end deux.
Selection.Insert Shift:=xlDown,
> CopyOrigin:=xlFormatFromLeftOrAbove
represente une seul ligne.
--
Regards
Christophe Mathon
while(!(succeed=try()));
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a
ete
coupé end deux.
Selection.Insert Shift:=xlDown,
> CopyOrigin:=xlFormatFromLeftOrAbove
represente une seul ligne.
--
Regards
Christophe Mathon
while(!(succeed=try()));
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a
ete
coupé end deux.
Selection.Insert Shift:=xlDown,
> CopyOrigin:=xlFormatFromLeftOrAbove
represente une seul ligne.
--
Regards
Christophe Mathon
while(!(succeed=try()));