Je r=E9cup=E8re 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=E9 de chaque
agent.
J'aimerai que 2 lignes vides soient ins=E9r=E9es automatiquement apr=E8s
chaque jour en sachant que le nombre de lignes par jour peut =EAtre
diff=E9rent d'un mois sur l'autre.
Puis dans la premi=E8re ligne ins=E9r=E9e (cellule G28, G50,G63), calculer
automatiquement le temps de pr=E9sence total par jour (=3D Badge Out -
Badge In)
Une image de ce que j'ai actuellement : http://www.sendspace.com/file/0xu4s=
m
une image de ce que je voudrais obtenir : http://www.sendspace.com/file/v67=
ig6
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
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
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
"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
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
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
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)).ClearContents ActiveCell.Offset(2, -5).Select Next cpt ActiveCell.Range("a1:a2").EntireRow.Delete End Sub
Camille "pier" a écrit dans le message de 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
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)).ClearContents
ActiveCell.Offset(2, -5).Select
Next cpt
ActiveCell.Range("a1:a2").EntireRow.Delete
End Sub
Camille
"pier" <pierklaud@gmail.com> a écrit dans le message de 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
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)).ClearContents ActiveCell.Offset(2, -5).Select Next cpt ActiveCell.Range("a1:a2").EntireRow.Delete End Sub
Camille "pier" a écrit dans le message de 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
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
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
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
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
"Christophe Mathon" <csmathon@hotmail.com> wrote in message
news:68C2FC00-EF71-468F-BC9B-56E2B1E23B60@microsoft.com...
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
"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
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
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
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
J'ai copié/collé dans la feuille "brut" comme tu le dis mais je n'obtiens pas le résultat voulu ...??? Ça ne change rien en fait...
Pierre
On 22 juil, 15:17, "Ellimac" wrote:
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 Camille,
Merci pour ton aide.
J'ai copié/collé dans la feuille "brut" comme tu le dis mais je
n'obtiens pas le résultat voulu ...???
Ça ne change rien en fait...
Pierre
On 22 juil, 15:17, "Ellimac" <ellimac_cremel...@hotmail.com> wrote:
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
J'ai copié/collé dans la feuille "brut" comme tu le dis mais je n'obtiens pas le résultat voulu ...??? Ça ne change rien en fait...
Pierre
On 22 juil, 15:17, "Ellimac" wrote:
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
Pierre D
Re'bonjour Christophe !
Même erreur de syntaxe à l'exécution de la macro... je suis incapable de corriger moi même !
Merci pour ton aide.
Pierre
On 22 juil, 15:21, "Christophe Mathon" wrote:
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
Même erreur de syntaxe à l'exécution de la macro... je suis incapable
de corriger moi même !
Merci pour ton aide.
Pierre
On 22 juil, 15:21, "Christophe Mathon" <csmat...@hotmail.com> wrote:
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
Même erreur de syntaxe à l'exécution de la macro... je suis incapable de corriger moi même !
Merci pour ton aide.
Pierre
On 22 juil, 15:21, "Christophe Mathon" wrote:
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
J'ai un message d'erreur "Erreur de compilation / erreur de syntaxe" avec Selection.Insert Shift:=xlDown, surligné dans le débogueur....
Pierre
On 22 juil, 15:01, "Christophe Mathon" wrote:
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
J'ai un message d'erreur "Erreur de compilation / erreur de syntaxe"
avec Selection.Insert Shift:=xlDown, surligné dans le débogueur....
Pierre
On 22 juil, 15:01, "Christophe Mathon" <csmat...@hotmail.com> wrote:
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
J'ai un message d'erreur "Erreur de compilation / erreur de syntaxe" avec Selection.Insert Shift:=xlDown, surligné dans le débogueur....
Pierre
On 22 juil, 15:01, "Christophe Mathon" wrote:
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
"Pierre D" wrote in message news: Re'bonjour Christophe !
Même erreur de syntaxe à l'exécution de la macro... je suis incapable de corriger moi même !
Merci pour ton aide.
Pierre
On 22 juil, 15:21, "Christophe Mathon" wrote:
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
"Pierre D" <pierre.dhier@gmail.com> wrote in message
news:1510cab1-ff52-42ac-9928-f8e0c487c164@a70g2000hsh.googlegroups.com...
Re'bonjour Christophe !
Même erreur de syntaxe à l'exécution de la macro... je suis incapable
de corriger moi même !
Merci pour ton aide.
Pierre
On 22 juil, 15:21, "Christophe Mathon" <csmat...@hotmail.com> wrote:
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
"Pierre D" wrote in message news: Re'bonjour Christophe !
Même erreur de syntaxe à l'exécution de la macro... je suis incapable de corriger moi même !
Merci pour ton aide.
Pierre
On 22 juil, 15:21, "Christophe Mathon" wrote:
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
Exact Christophe !... j'avais recopié la ligne coupé en 2.... Maintenant ca marche bien. MERCI.
Je voudrais ajouter quelque chose : Est ce que je peux calculer automatiquement (sous la cellule qui fait le cumul badge Out - Badge In avec ta macro) le total cumulé de l'activité X ? (comme sur la feuille "formaté" de mon classeur içi : http://pier.free.fr/Insert.XLS ou insertformt.pdf ici : http://pier.free.fr/insertformt.pdf
Cordialement.
Pierre
* On 22 juil, 16:38, "Christophe Mathon" wrote:
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a e te coupé end deux.
Exact Christophe !... j'avais recopié la ligne coupé en 2....
Maintenant ca marche bien. MERCI.
Je voudrais ajouter quelque chose :
Est ce que je peux calculer automatiquement (sous la cellule qui fait
le cumul badge Out - Badge In avec ta macro) le total cumulé de
l'activité X ? (comme sur la feuille "formaté" de mon classeur içi :
http://pier.free.fr/Insert.XLS ou
insertformt.pdf ici : http://pier.free.fr/insertformt.pdf
Cordialement.
Pierre
*
On 22 juil, 16:38, "Christophe Mathon" <csmat...@hotmail.com> wrote:
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a e te
coupé end deux.
Exact Christophe !... j'avais recopié la ligne coupé en 2.... Maintenant ca marche bien. MERCI.
Je voudrais ajouter quelque chose : Est ce que je peux calculer automatiquement (sous la cellule qui fait le cumul badge Out - Badge In avec ta macro) le total cumulé de l'activité X ? (comme sur la feuille "formaté" de mon classeur içi : http://pier.free.fr/Insert.XLS ou insertformt.pdf ici : http://pier.free.fr/insertformt.pdf
Cordialement.
Pierre
* On 22 juil, 16:38, "Christophe Mathon" wrote:
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a e te coupé end deux.
<><><><><><><><><><> <><><><><><><><><><> Function CalcActivityX(BadgeIn, BadgeOut) i = Abs(BadgeIn) u = Abs(BadgeOut) CalcActivityX = "="
Do While i < u 'MsgBox Cells(i, 9).Value If Cells(i, 9).Value = "Activité X" Then CalcActivityX = CalcActivityX & "G" & i & "+" End If i = i + 1 Loop
If (Right(CalcActivityX, 1) = "+") Then CalcActivityX = Left(CalcActivityX, Len(CalcActivityX) - 1) End If End Function
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
"pier" wrote in message news: Exact Christophe !... j'avais recopié la ligne coupé en 2.... Maintenant ca marche bien. MERCI.
Je voudrais ajouter quelque chose : Est ce que je peux calculer automatiquement (sous la cellule qui fait le cumul badge Out - Badge In avec ta macro) le total cumulé de l'activité X ? (comme sur la feuille "formaté" de mon classeur içi : http://pier.free.fr/Insert.XLS ou insertformt.pdf ici : http://pier.free.fr/insertformt.pdf
Cordialement.
Pierre
* On 22 juil, 16:38, "Christophe Mathon" wrote:
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a ete coupé end deux.
<><><><><><><><><><>
<><><><><><><><><><>
Function CalcActivityX(BadgeIn, BadgeOut)
i = Abs(BadgeIn)
u = Abs(BadgeOut)
CalcActivityX = "="
Do While i < u
'MsgBox Cells(i, 9).Value
If Cells(i, 9).Value = "Activité X" Then
CalcActivityX = CalcActivityX & "G" & i & "+"
End If
i = i + 1
Loop
If (Right(CalcActivityX, 1) = "+") Then
CalcActivityX = Left(CalcActivityX, Len(CalcActivityX) - 1)
End If
End Function
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
"pier" <pierklaud@gmail.com> wrote in message
news:8a6cb019-2eb4-41cf-acac-989a51c1952d@j22g2000hsf.googlegroups.com...
Exact Christophe !... j'avais recopié la ligne coupé en 2....
Maintenant ca marche bien. MERCI.
Je voudrais ajouter quelque chose :
Est ce que je peux calculer automatiquement (sous la cellule qui fait
le cumul badge Out - Badge In avec ta macro) le total cumulé de
l'activité X ? (comme sur la feuille "formaté" de mon classeur içi :
http://pier.free.fr/Insert.XLS ou
insertformt.pdf ici : http://pier.free.fr/insertformt.pdf
Cordialement.
Pierre
*
On 22 juil, 16:38, "Christophe Mathon" <csmat...@hotmail.com> wrote:
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a
ete
coupé end deux.
<><><><><><><><><><> <><><><><><><><><><> Function CalcActivityX(BadgeIn, BadgeOut) i = Abs(BadgeIn) u = Abs(BadgeOut) CalcActivityX = "="
Do While i < u 'MsgBox Cells(i, 9).Value If Cells(i, 9).Value = "Activité X" Then CalcActivityX = CalcActivityX & "G" & i & "+" End If i = i + 1 Loop
If (Right(CalcActivityX, 1) = "+") Then CalcActivityX = Left(CalcActivityX, Len(CalcActivityX) - 1) End If End Function
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
"pier" wrote in message news: Exact Christophe !... j'avais recopié la ligne coupé en 2.... Maintenant ca marche bien. MERCI.
Je voudrais ajouter quelque chose : Est ce que je peux calculer automatiquement (sous la cellule qui fait le cumul badge Out - Badge In avec ta macro) le total cumulé de l'activité X ? (comme sur la feuille "formaté" de mon classeur içi : http://pier.free.fr/Insert.XLS ou insertformt.pdf ici : http://pier.free.fr/insertformt.pdf
Cordialement.
Pierre
* On 22 juil, 16:38, "Christophe Mathon" wrote:
C'est parceque tu a fai un copier coller, mais dans la news, la ligne a ete coupé end deux.