comptabilier le dernier chagement dans plusieurs cols par rapport à une reference
3 réponses
marianne puget
Bonjour,
Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des
references
en colonne 1 , c'est la reference un enregistrement par ligne qui
peut¨-être de 1 a n
en colonne 2 a 7 sont de dates
en tabulation des tonnes
l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq
fois dernier changement des tonnes pour une reference
conserver les lignes aprés la ligne de chagement pour une reference
J'ai essayéce we avec do.loop until en vain (galère]
Merci pour votre aide
exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5
DATE6 EVENEMENT
59002 70000 d
59002 70000 d
59002 70000 d
59002 6888563003
20000 d
63003
20000 d
63003
20000 d
66005 30000 30000 d
66005 30000 30000 d
66005 30000 30000 d
66005 3000066005
30000
70000 20000 20000 d
70000 20000 20000 d
70000 2000070000
20000 20000110002
63000 21000 42000 21000 42000 d
110002 63000 21000 42000 21000 42000 d
110002 63000 21000 105000 21000 42000110002
21000 105000 21000 42000110002
63000
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
J'ai beaucoup de mal à comprendre ton attente Si c'est d'inscrire un "d" colonne evennement pour 2 lignes à la même référence et au tonnage différrent je te propose For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) If c = c.Offset(1, 0) Then If c.Offset(0, 1) <> c.Offset(1, 1) Or c.Offset(0, 2) <> c.Offset(1, 2) Or c.Offset(0, 3) <> c.Offset(1, 3) Or c.Offset(0, 4) <> c.Offset(1, 4) Or c.Offset(0, 5) <> c.Offset(1, 5) Or c.Offset(0, 6) <> c.Offset(1, 6) Then c.Offset(1, 7) = "d" End If End If Next
Est ce bien celà ??? Dis moi !!!
Bonjour, Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des references en colonne 1 , c'est la reference un enregistrement par ligne qui peut¨-être de 1 a n en colonne 2 a 7 sont de dates en tabulation des tonnes l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq fois dernier changement des tonnes pour une reference conserver les lignes aprés la ligne de chagement pour une reference J'ai essayéce we avec do.loop until en vain (galère] Merci pour votre aide exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6 EVENEMENT 59002 70000 d 59002 70000 d 59002 70000 d 59002 6888563003 20000 d 63003 20000 d 63003 20000 d 66005 30000 30000 d 66005 30000 30000 d 66005 30000 30000 d 66005 3000066005 30000 70000 20000 20000 d 70000 20000 20000 d 70000 2000070000 20000 20000110002 63000 21000 42000 21000 42000 d 110002 63000 21000 42000 21000 42000 d 110002 63000 21000 105000 21000 42000110002 21000 105000 21000 42000110002 63000
J'ai beaucoup de mal à comprendre ton attente
Si c'est d'inscrire un "d" colonne evennement pour 2 lignes à la même
référence et au tonnage différrent
je te propose
For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp))
If c = c.Offset(1, 0) Then
If c.Offset(0, 1) <> c.Offset(1, 1) Or c.Offset(0, 2) <> c.Offset(1, 2) Or
c.Offset(0, 3) <> c.Offset(1, 3) Or c.Offset(0, 4) <> c.Offset(1, 4) Or
c.Offset(0, 5) <> c.Offset(1, 5) Or c.Offset(0, 6) <> c.Offset(1, 6) Then
c.Offset(1, 7) = "d"
End If
End If
Next
Est ce bien celà ???
Dis moi !!!
Bonjour,
Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des
references
en colonne 1 , c'est la reference un enregistrement par ligne qui
peut¨-être de 1 a n
en colonne 2 a 7 sont de dates
en tabulation des tonnes
l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq
fois dernier changement des tonnes pour une reference
conserver les lignes aprés la ligne de chagement pour une reference
J'ai essayéce we avec do.loop until en vain (galère]
Merci pour votre aide
exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5
DATE6 EVENEMENT
59002 70000 d
59002 70000 d
59002 70000 d
59002 6888563003
20000 d
63003
20000 d
63003
20000 d
66005 30000 30000 d
66005 30000 30000 d
66005 30000 30000 d
66005 3000066005
30000
70000 20000 20000 d
70000 20000 20000 d
70000 2000070000
20000 20000110002
63000 21000 42000 21000 42000 d
110002 63000 21000 42000 21000 42000 d
110002 63000 21000 105000 21000 42000110002
21000 105000 21000 42000110002
63000
J'ai beaucoup de mal à comprendre ton attente Si c'est d'inscrire un "d" colonne evennement pour 2 lignes à la même référence et au tonnage différrent je te propose For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) If c = c.Offset(1, 0) Then If c.Offset(0, 1) <> c.Offset(1, 1) Or c.Offset(0, 2) <> c.Offset(1, 2) Or c.Offset(0, 3) <> c.Offset(1, 3) Or c.Offset(0, 4) <> c.Offset(1, 4) Or c.Offset(0, 5) <> c.Offset(1, 5) Or c.Offset(0, 6) <> c.Offset(1, 6) Then c.Offset(1, 7) = "d" End If End If Next
Est ce bien celà ??? Dis moi !!!
Bonjour, Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des references en colonne 1 , c'est la reference un enregistrement par ligne qui peut¨-être de 1 a n en colonne 2 a 7 sont de dates en tabulation des tonnes l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq fois dernier changement des tonnes pour une reference conserver les lignes aprés la ligne de chagement pour une reference J'ai essayéce we avec do.loop until en vain (galère] Merci pour votre aide exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6 EVENEMENT 59002 70000 d 59002 70000 d 59002 70000 d 59002 6888563003 20000 d 63003 20000 d 63003 20000 d 66005 30000 30000 d 66005 30000 30000 d 66005 30000 30000 d 66005 3000066005 30000 70000 20000 20000 d 70000 20000 20000 d 70000 2000070000 20000 20000110002 63000 21000 42000 21000 42000 d 110002 63000 21000 42000 21000 42000 d 110002 63000 21000 105000 21000 42000110002 21000 105000 21000 42000110002 63000
marianne puget
Ci-dessous la routine qui fait l'exercice,il me reste à conditionner l 'evenement lors du premier changement par une ecriture du 'd' en derniere colonne +1 Sub main() Dim col As Byte, ligne As Byte, Nom__bloc As Long
Dim l_fin_bloc As Integer, L_dbt As Integer, l_cpt As Integer
'Comptabiliser le bloc ligne = 2 n = 0 l_cpt = 0 l_fin_bloc = 0 a: ligne = l_fin_bloc + 1 Do nom_bloc = Range("e" & ligne).Value n = n + 1 ligne = ligne + 1 l_fin_bloc = ligne - 1 Loop Until nom_bloc <> Range("e" & ligne).Value 'mise a jour du bloc l_cpt = ligne - n For col = 7 To 11 For ligne = l_cpt To l_fin_bloc'reste à mettre au pointCells(ligne, 12) = "L" If ligne = l_fin_bloc - 1 Then GoTo b Next ligne b: MsgBox "colonne" & col
Next col n = 0 GoTo a End Sub "marianne puget" a écrit dans le message de news: u$
Bonjour, Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des references en colonne 1 , c'est la reference un enregistrement par ligne qui peut¨-être de 1 a n en colonne 2 a 7 sont de dates en tabulation des tonnes l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq fois dernier changement des tonnes pour une reference conserver les lignes aprés la ligne de chagement pour une reference J'ai essayéce we avec do.loop until en vain (galère] Merci pour votre aide exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6 EVENEMENT 59002 70000 d 59002 70000 d 59002 70000 d 59002 6888563003 20000 d 63003 20000 d 63003 20000 d 66005 30000 30000 d 66005 30000 30000 d 66005 30000 30000 d 66005 3000066005 30000 70000 20000 20000 d 70000 20000 20000 d 70000 2000070000 20000 20000110002 63000 21000 42000 21000 42000 d 110002 63000 21000 42000 21000 42000 d 110002 63000 21000 105000 21000 42000110002 21000 105000 21000 42000110002 63000
Ci-dessous la routine qui fait l'exercice,il me reste à conditionner l
'evenement lors du premier changement par une ecriture du 'd' en derniere
colonne +1
Sub main()
Dim col As Byte, ligne As Byte, Nom__bloc As Long
Dim l_fin_bloc As Integer, L_dbt As Integer, l_cpt As Integer
'Comptabiliser le bloc
ligne = 2
n = 0
l_cpt = 0
l_fin_bloc = 0
a:
ligne = l_fin_bloc + 1
Do
nom_bloc = Range("e" & ligne).Value
n = n + 1
ligne = ligne + 1
l_fin_bloc = ligne - 1
Loop Until nom_bloc <> Range("e" & ligne).Value
'mise a jour du bloc
l_cpt = ligne - n
For col = 7 To 11
For ligne = l_cpt To l_fin_bloc'reste à mettre au pointCells(ligne, 12)
= "L"
If ligne = l_fin_bloc - 1 Then GoTo b
Next ligne
b:
MsgBox "colonne" & col
Next col
n = 0
GoTo a
End Sub
"marianne puget" <puget.marianne@neuf.fr> a écrit dans le message de news:
u$m1rsZhHHA.4624@TK2MSFTNGP04.phx.gbl...
Bonjour,
Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des
references
en colonne 1 , c'est la reference un enregistrement par ligne qui
peut¨-être de 1 a n
en colonne 2 a 7 sont de dates
en tabulation des tonnes
l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq
fois dernier changement des tonnes pour une reference
conserver les lignes aprés la ligne de chagement pour une reference
J'ai essayéce we avec do.loop until en vain (galère]
Merci pour votre aide
exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6
EVENEMENT
59002 70000 d
59002 70000 d
59002 70000 d
59002 6888563003 20000 d
63003 20000 d
63003 20000 d
66005 30000 30000 d
66005 30000 30000 d
66005 30000 30000 d
66005 3000066005 30000
70000 20000 20000 d
70000 20000 20000 d
70000 2000070000 20000
20000110002 63000 21000 42000 21000 42000 d
110002 63000 21000 42000 21000 42000 d
110002 63000 21000 105000 21000
42000110002 21000 105000 21000 42000110002 63000
Ci-dessous la routine qui fait l'exercice,il me reste à conditionner l 'evenement lors du premier changement par une ecriture du 'd' en derniere colonne +1 Sub main() Dim col As Byte, ligne As Byte, Nom__bloc As Long
Dim l_fin_bloc As Integer, L_dbt As Integer, l_cpt As Integer
'Comptabiliser le bloc ligne = 2 n = 0 l_cpt = 0 l_fin_bloc = 0 a: ligne = l_fin_bloc + 1 Do nom_bloc = Range("e" & ligne).Value n = n + 1 ligne = ligne + 1 l_fin_bloc = ligne - 1 Loop Until nom_bloc <> Range("e" & ligne).Value 'mise a jour du bloc l_cpt = ligne - n For col = 7 To 11 For ligne = l_cpt To l_fin_bloc'reste à mettre au pointCells(ligne, 12) = "L" If ligne = l_fin_bloc - 1 Then GoTo b Next ligne b: MsgBox "colonne" & col
Next col n = 0 GoTo a End Sub "marianne puget" a écrit dans le message de news: u$
Bonjour, Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des references en colonne 1 , c'est la reference un enregistrement par ligne qui peut¨-être de 1 a n en colonne 2 a 7 sont de dates en tabulation des tonnes l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq fois dernier changement des tonnes pour une reference conserver les lignes aprés la ligne de chagement pour une reference J'ai essayéce we avec do.loop until en vain (galère] Merci pour votre aide exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6 EVENEMENT 59002 70000 d 59002 70000 d 59002 70000 d 59002 6888563003 20000 d 63003 20000 d 63003 20000 d 66005 30000 30000 d 66005 30000 30000 d 66005 30000 30000 d 66005 3000066005 30000 70000 20000 20000 d 70000 20000 20000 d 70000 2000070000 20000 20000110002 63000 21000 42000 21000 42000 d 110002 63000 21000 42000 21000 42000 d 110002 63000 21000 105000 21000 42000110002 21000 105000 21000 42000110002 63000
FFO
Je ne vois pas ton fichier de 50 lignes !!! As tu essayé le code proposé en adaptant la colonne de l'instruction: For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) (ici colonne A porteuse des références)
Merci de me dire
Bjr FFO, merci bcp pour tes infos Pour illustrer ma demande je joinds un petit fichier de 50 lignes j'ai saisi à la main le "d" la colonne E est la reference les colonnes i TO k sont les valeurs [tonnage) le calcul est en fonction de la colonne E dont le nombre de lignes varie,pour identfifier le premier mouvement de difference dans les colonnes i TO k Afficher un d sur les lignes impactées avant le changement .Il arrive que pour une réference en E il n' ya pas de changement de valeurs dans le colonnes i TO k dans le cas toutes les lignes prennent un "d" c'est pas simple merci pour l'aide cordialement Marianne
"FFO" a écrit dans le message de news:
J'ai beaucoup de mal à comprendre ton attente Si c'est d'inscrire un "d" colonne evennement pour 2 lignes à la même référence et au tonnage différrent je te propose For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) If c = c.Offset(1, 0) Then If c.Offset(0, 1) <> c.Offset(1, 1) Or c.Offset(0, 2) <> c.Offset(1, 2) Or c.Offset(0, 3) <> c.Offset(1, 3) Or c.Offset(0, 4) <> c.Offset(1, 4) Or c.Offset(0, 5) <> c.Offset(1, 5) Or c.Offset(0, 6) <> c.Offset(1, 6) Then c.Offset(1, 7) = "d" End If End If Next
Est ce bien celà ??? Dis moi !!!
Bonjour, Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des references en colonne 1 , c'est la reference un enregistrement par ligne qui peut¨-être de 1 a n en colonne 2 a 7 sont de dates en tabulation des tonnes l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq fois dernier changement des tonnes pour une reference conserver les lignes aprés la ligne de chagement pour une reference J'ai essayéce we avec do.loop until en vain (galère] Merci pour votre aide exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6 EVENEMENT 59002 70000 d 59002 70000 d 59002 70000 d 59002 6888563003 20000 d 63003 20000 d 63003 20000 d 66005 30000 30000 d 66005 30000 30000 d 66005 30000 30000 d 66005 3000066005 30000 70000 20000 20000 d 70000 20000 20000 d 70000 2000070000 20000 20000110002 63000 21000 42000 21000 42000 d 110002 63000 21000 42000 21000 42000 d 110002 63000 21000 105000 21000 42000110002 21000 105000 21000 42000110002 63000
Je ne vois pas ton fichier de 50 lignes !!!
As tu essayé le code proposé en adaptant la colonne de l'instruction:
For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) (ici
colonne A porteuse des références)
Merci de me dire
Bjr FFO,
merci bcp pour tes infos
Pour illustrer ma demande je joinds un petit fichier de 50 lignes
j'ai saisi à la main le "d"
la colonne E est la reference
les colonnes i TO k sont les valeurs [tonnage)
le calcul est en fonction de la colonne E dont le nombre de lignes
varie,pour identfifier le premier mouvement de difference dans les
colonnes i TO k
Afficher un d sur les lignes impactées avant le changement .Il arrive que
pour une réference en E il n' ya pas de changement de valeurs dans le
colonnes i TO k
dans le cas toutes les lignes prennent un "d"
c'est pas simple
merci pour l'aide
cordialement Marianne
"FFO" <FFO@discussions.microsoft.com> a écrit dans le message de news:
D5DFE629-9196-4B0B-A83A-16A04D702AB7@microsoft.com...
J'ai beaucoup de mal à comprendre ton attente
Si c'est d'inscrire un "d" colonne evennement pour 2 lignes à la même
référence et au tonnage différrent
je te propose
For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp))
If c = c.Offset(1, 0) Then
If c.Offset(0, 1) <> c.Offset(1, 1) Or c.Offset(0, 2) <> c.Offset(1, 2) Or
c.Offset(0, 3) <> c.Offset(1, 3) Or c.Offset(0, 4) <> c.Offset(1, 4) Or
c.Offset(0, 5) <> c.Offset(1, 5) Or c.Offset(0, 6) <> c.Offset(1, 6) Then
c.Offset(1, 7) = "d"
End If
End If
Next
Est ce bien celà ???
Dis moi !!!
Bonjour,
Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des
references
en colonne 1 , c'est la reference un enregistrement par ligne qui
peut¨-être de 1 a n
en colonne 2 a 7 sont de dates
en tabulation des tonnes
l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq
fois dernier changement des tonnes pour une reference
conserver les lignes aprés la ligne de chagement pour une reference
J'ai essayéce we avec do.loop until en vain (galère]
Merci pour votre aide
exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5
DATE6 EVENEMENT
59002 70000 d
59002 70000 d
59002 70000 d
59002 6888563003
20000 d
63003
20000 d
63003
20000 d
66005 30000 30000 d
66005 30000 30000 d
66005 30000 30000 d
66005 3000066005
30000
70000 20000 20000 d
70000 20000 20000 d
70000 2000070000
20000 20000110002
63000 21000 42000 21000 42000 d
110002 63000 21000 42000 21000 42000 d
110002 63000 21000 105000 21000
42000110002
21000 105000 21000 42000110002
63000
Je ne vois pas ton fichier de 50 lignes !!! As tu essayé le code proposé en adaptant la colonne de l'instruction: For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) (ici colonne A porteuse des références)
Merci de me dire
Bjr FFO, merci bcp pour tes infos Pour illustrer ma demande je joinds un petit fichier de 50 lignes j'ai saisi à la main le "d" la colonne E est la reference les colonnes i TO k sont les valeurs [tonnage) le calcul est en fonction de la colonne E dont le nombre de lignes varie,pour identfifier le premier mouvement de difference dans les colonnes i TO k Afficher un d sur les lignes impactées avant le changement .Il arrive que pour une réference en E il n' ya pas de changement de valeurs dans le colonnes i TO k dans le cas toutes les lignes prennent un "d" c'est pas simple merci pour l'aide cordialement Marianne
"FFO" a écrit dans le message de news:
J'ai beaucoup de mal à comprendre ton attente Si c'est d'inscrire un "d" colonne evennement pour 2 lignes à la même référence et au tonnage différrent je te propose For Each c In Worksheets("Onglet").Range([A2], [A65535].End(xlUp)) If c = c.Offset(1, 0) Then If c.Offset(0, 1) <> c.Offset(1, 1) Or c.Offset(0, 2) <> c.Offset(1, 2) Or c.Offset(0, 3) <> c.Offset(1, 3) Or c.Offset(0, 4) <> c.Offset(1, 4) Or c.Offset(0, 5) <> c.Offset(1, 5) Or c.Offset(0, 6) <> c.Offset(1, 6) Then c.Offset(1, 7) = "d" End If End If Next
Est ce bien celà ??? Dis moi !!!
Bonjour, Pouvez-vous m'aider à écrire une macro me permettant d'itenfifier des references en colonne 1 , c'est la reference un enregistrement par ligne qui peut¨-être de 1 a n en colonne 2 a 7 sont de dates en tabulation des tonnes l'objectif est d'incrire un "d" en deniere colonne apres la date6 à chq fois dernier changement des tonnes pour une reference conserver les lignes aprés la ligne de chagement pour une reference J'ai essayéce we avec do.loop until en vain (galère] Merci pour votre aide exemple ci-dessous
REF DATE1 DATE2 DATE3 DATE4 DATE5 DATE6 EVENEMENT 59002 70000 d 59002 70000 d 59002 70000 d 59002 6888563003 20000 d 63003 20000 d 63003 20000 d 66005 30000 30000 d 66005 30000 30000 d 66005 30000 30000 d 66005 3000066005 30000 70000 20000 20000 d 70000 20000 20000 d 70000 2000070000 20000 20000110002 63000 21000 42000 21000 42000 d 110002 63000 21000 42000 21000 42000 d 110002 63000 21000 105000 21000 42000110002 21000 105000 21000 42000110002 63000