Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comptabilier le dernier chagement dans plusieurs cols par rapport à une reference

3 réponses
Avatar
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

3 réponses

Avatar
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





Avatar
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



Avatar
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